約 5,666,711 件
https://w.atwiki.jp/anime_wiki/pages/24561.html
STEINS;GATE ELITE 完全受注生産限定版 【限定版同梱物】 シュタインズ・ゲート ゼロ Blu-ray BOX 発売日:9月20日・3月30日 高精細額装イラスト ・新作カット絵コンテ集 ・ 新作アニメカット特製フィルム (ランダム封入) 同梱 【初回特典】・PS4【STEINS;GATE 線形拘束のフェノグラム HD】DLコード ・ 新作アニメカット特製フィルム (ランダム封入) ここを編集 2018年4月放送開始。STEINS;GATEの続編。2022年3月、Blu-rayBOXが発売。プライムビデオが配信開始。 http //steinsgate0-anime.com/ 監督 川村賢一 原作 志倉千代丸/MAGES. シリーズ構成 花田十輝 シナリオ監修 林直孝、松原達也、西村卓也、安本了 キャラクター原案 huke キャラクターデザイン 稲吉智重 プロップデザイン 稲吉朝子 未来ガジェット原案 SH@RP プロップ設定協力 コレサワシゲユキ、時田かける、犬伊勢あや 美術設定 コレサワシゲユキ、灯夢、小高みちる 美術監督 小高猛 美術監修 東潤一 美術設定協力 坂井ユウスケ、菊月蓮、ヒロセキュウ、墨天業 色彩設計 佐藤美由紀 撮影監督 塩川智幸 撮影監督補佐 太田健介 3Dディレクター ヨシダ.ミキ モデリング 相馬洋 3Dレイアウト 遠藤めぐみ CGデザイナー 北原和幸 CGマネージャー 伊勢田誠治 特効監修 谷口久美子 編集 須藤瞳 音響監督・調音 山口貴之 音響効果 川田清貴 録音 吉沼秀夫 録音助手 伊勢尚貴 音楽 阿保剛、信澤宣明、日向萌 アニメーション制作 WHITE FOX 脚本 花田十輝 安本了 絵コンテ 川村賢一 路比塚俳優人 武市直子 神谷純 久保雄介 髙木啓明 外川慶 尾崎隆晴 演出 川村賢一 土屋浩幸 高杉旭 平向智子 古賀一臣 武市直子 青木ユーイチロー 川久保圭史 おざわかずひろ 工藤寛顕 関谷真実子 高木啓明 久保雄介 作画監督 稲吉智重 稲吉朝子 中田正彦 木宮亮介 菊地功一 國井実可子 井川典恵 藤木奈々 平村直紀 相澤秀亮 永吉隆志 西村幸恵 中村進也 加藤明日美 渡邉八恵子 小野晃 中村和久 岩田景子 徳田夢之介 池田有 武本大介 ぐんそう 宮脇直央 Amazonインスタントビデオ:シュタインズ・ゲート ゼロ Ep. 1 零化域のミッシングリンク 監督 川村賢一 再生時間 0時間23分 初公開日/初回放送日 2018年4月11日 提供 WHITE FOX ■関連タイトル シュタインズ・ゲート ゼロ Blu-ray BOX Blu-ray シュタインズ・ゲート ゼロ Vol.1 新録ドラマCD付き PS4 STEINS;GATE ELITE 完全受注生産限定版 【限定版同梱物】・高精細額装イラスト ・新作カット絵コンテ集 ・新作アニメカット特製フィルム同梱 【初回特典】・PS4【STEINS;GATE 線形拘束のフェノグラム HD】DLコード ・新作アニメカット特製フィルム ☆PS Vita 廉価版 STEINS;GATE コンプリート Blu-ray BOX スタンダードエディション OPテーマ ファティマ 原作ゲーム PS4 STEINS;GATE 0 ☆PSVita figma 岡部倫太郎 figma 牧瀬紅莉栖 白衣ver. ねんどろいど フェイリス・ニャンニャン ベスト盤 STEINS;GATE VOCAL COLLECTION 画集 STEINS;GATE ART WORKS imaginations of huke ピーエムオフィスエー 岡部倫太郎 1/8スケール PVC塗装済完成品 アルター 阿万音鈴羽 マウンテンバイク 1/8スケール PVC塗装済完成品 1/3ハイブリッドアクティヴフィギュア シュタインズゲート 牧瀬 紅莉栖 ねんどろいど 牧瀬紅莉栖 ノンスケール ABS PVC塗装済み可動フィギュア コトブキヤ 牧瀬紅莉栖 1/8スケールPVC塗装済み完成品 フィギュア・ホビー:STEINS;GATE rakuten_design= slide ;rakuten_affiliateId= 053df7e0.7c451bd1.0c852203.190c5695 ;rakuten_items= ctsmatch ;rakuten_genreId=0;rakuten_size= 468x160 ;rakuten_target= _blank ;rakuten_theme= gray ;rakuten_border= on ;rakuten_auto_mode= on ;rakuten_genre_title= off ;rakuten_recommend= on ; 随時更新! pixivFANBOX アニメ@wiki ご支援お待ちしています! ムック本&画集新刊/個人画集新刊/新作Blu-ray単巻/新作Blu-ray DVD-BOX アニメ原画集全リスト スタッフインタビューwebリンク集 最新登録アイテム Switch ゼルダの伝説 Tears of the Kingdom Switch 世界樹の迷宮Ⅰ・Ⅱ・Ⅲ HD REMASTER Switch ピクミン 4 大友克洋 Animation AKIRA Layouts Key Frames 2 小説 機動戦士ガンダム 水星の魔女 1 ONE PIECE FILM REDデラックス・リミテッド・エディション 4K ULTRA HD Blu-ray Blu-ray 劇場版 ソードアート・オンライン -プログレッシブ- 冥き夕闇のスケルツォ 完全生産限定版 Blu-ray 映画『ゆるキャン△』 Blu-ray 【コレクターズ版】 Blu-ray ウマ娘 プリティーダービー 4th EVENT SPECIAL DREAMERS!! Blu-ray 天地無用!GXP パラダイス始動編 Blu-ray第1巻 特装版 天地無用!魎皇鬼 第伍期 Blu-ray SET 「GS美神」全話いっき見ブルーレイ Blu-ray ソードアート・オンライン -フルダイブ- メーカー特典:「イベントビジュアル使用A3クリアポスター」付 ラブライブ!虹ヶ咲学園スクールアイドル同好会 5th Live! 虹が咲く場所 Blu-ray Memorial BOX 宇宙戦艦ヤマト2202 愛の戦士たち Blu-ray BOX 特装限定版 地球へ… Blu-ray Disc BOX 完全生産限定版 神風怪盗ジャンヌ Complete Blu-ray BOX HUNTER×HUNTER ハンター試験編・ゾルディック家編Blu-ray BOX BLEACH Blu-ray Disc BOX 破面篇セレクション1+過去篇 完全生産限定版 MAZINGER THE MOVIE 1973-1976 4Kリマスター版 アニメ・ゲームのロゴデザイン シン・仮面ライダー 音楽集 テレビマガジン特別編集 仮面ライダー 完全版 EPISODE No.1~No.98 MOVIE リスアニ!Vol.50.5 ぼっち・ざ・ろっく!号デラックスエディション ヤマノススメ Next Summit アニメガイド おもいでビヨリ アニメ「魔入りました!入間くん」オフィシャルファンブック 『超時空要塞マクロス』パッケージアート集 CLAMP PREMIUM COLLECTION X 1 トーマの心臓 プレミアムエディション パズル ドラゴンズ 10th Anniversary Art Works はんざわかおり こみっくがーるず画集 ~あばばーさりー!~ あすぱら画集 すいみゃ Art Works trim polka-トリムポルカ- つぐもも裏 超!限界突破イラスト&激!すじ供養漫画集 開田裕治ウルトラマンシリーズ画集 井澤詩織1st写真集 mascotte 鬼頭明里写真集 my pace 内田真礼 1st photobook 「まあやドキ」 進藤あまね1st写真集 翠~Midori~ 声優 宮村優子 対談集 アスカライソジ 三石琴乃 ことのは 亀田祥倫アートワークス 100% 庵野秀明責任編集 仮面ライダー 資料写真集 1971-1973 金子雄司アニメーション背景美術画集 タローマン・クロニクル ラブライブ!サンシャイン!! Find Our 沼津~Aqoursのいる風景~ 機動戦士ガンダム 逆襲のシャア 友の会[復刻版] 梅津泰臣 KISS AND CRY 資料集 安彦良和 マイ・バック・ページズ 『機動戦士ガンダム ククルス・ドアンの島』編 氷川竜介 日本アニメの革新 歴史の転換点となった変化の構造分析 Blu-ray THE IDOLM@STER CINDERELLA GIRLS 10th Anniversary Celebration Animation ETERNITY MEMORIES Blu-ray おいら宇宙の探鉱夫 ブルーレイ版 Blu-ray 映画 バクテン!! 完全生産限定版 アイカツ! 10th STORY ~未来へのSTARWAY~ Blu-ray BOX 初回生産限定版 はたらく細胞 Blu-ray Disc BOX 完全生産限定版 Blu-ray 長靴をはいた猫 3作品収録 Blu-ray わんぱく王子の大蛇退治 Blu-ray 魔道祖師 完結編 完全生産限定版 魔道祖師Q Blu-ray Disc BOX 完全生産限定盤 にじよん あにめーしょん Blu-ray BOX 【特装限定版】 Blu-ray 鋼の錬金術師 完結編 プレミアム・エディション Blu-ray付き やはりゲームでも俺の青春ラブコメはまちがっている。完 限定版【同梱物】オリジナルアニメ Blu-ray「だから、思春期は終わらずに、青春は続いていく。」
https://w.atwiki.jp/hellgate_london/pages/47.html
The Stonehenge Chronicles - JANUARY 21, 2008 導入には手動でパッチのダウンロードが必要です。ダウンロード先はこちら + 変更項目一覧 The Stonehenge Chronicles Update Notes General PvP Group Play Graphics Memory Manager User Interface Skills Cabalist Evoker Templar Blademaster Guardian Quests Items Monsters Crafting Fixes Special Subscriber Features Quests The Caste Caves Moloch’s Lair The Wild Items Environments Monsters The Stonehenge Chronicles Update Notes + パッチ概要(英文) Happy New Year! 2008 is upon us, and we’re thrilled to be kicking it off with our first major update the Stonehenge Chronicles. We’ve got a lot in store for all of our players, so let’s get to it! In this update, you’ll see the first of the big balance sweeps we’re doing on all of the character classes. Both the Guardian and the Evoker got a lot of attention this time around, and we hope that players of those classes will dig into how the classes play now. We’re making it simple for these players to get a handle on the new balances by allowing them to completely respec their characters. PvP is starting to get more attention with the introduction of the Dueling Arena. This both makes dueling easier to accomplish and also gives us a better and more accurate way to track play habits and stats a key to really increasing this section of the game. There’s also a whole slew of other overall improvements, tweaks, and additions, so take a couple of minutes to go through the release notes and see what’s new. For our Subscription Members, we’re opening the portal to Stonehenge! This is a completely new area that not only has new items and monsters, but also completely new ways to experience the game. The Essence Caves are the first of our non-linear style of play. You can repeat this long quest chain multiple times throughout the career of your character as it scales with your character (or party) level. The rewards are rich and many of them are unique to the Stonehenge area. The Wild is also a new type of game play since it is focused exclusively on group play. You need big groups to have success out there and the deeper you get, the harder it gets. It’s time to get your friends together! We’ve got lots more in store, and we’re working on every aspect of the game. Thank you all for your support over the past couple of months. We’re listening and doing all we can to make Hellgate London what we all want. See you online! General 今回の大幅なスキルのバランス変更を行ったため、一部のキャラクターにスキルを再割り当てすることが可能になる"respec token"を配布する。 "respec token"は自動的にキャラクタのインベントリに入り、いつでも使用可能となる。 配布されるのは、EvokerとGuardian及び課金アカウントの全キャラクター。 ▲ PvP プレイヤー同士が腕試しをする場として、新たに"Dueling Arena"が設置された。 他のプレイヤーにDuelを申し込むと招待のダイアログが表示され、承諾すると両者は即座にアリーナに転送される。 アリーナに移動するとカウントダウンが開始される。カウントダウン中動くことはできるが、スキルやアイテム、スペルの使用、相手への攻撃はできない。 勝者が決まるとキャラクターの状態はリセットされ、再びカウントダウンが始まる。 Dueling Arenaから出るには、リコールデバイスを使う。 他のエリアでも以前と同様に、対戦したい相手とパーティを組んで /pvp コマンドを使うことでもDuelは可能となる。 ▲ Group Play グループを組むことによる経験値や戦利品のボーナスが増加した。キャラクターはグループの人数に応じて、劇的により多くの経験値と戦利品を獲ることができる。 離れた場所にいるパーティーメンバーが他の場所でプレイしているメンバーから経験値のグループボーナスを受け取れていたバグを修正。 ▲ Graphics 戦闘の流れをスムーズにするため、Templarクラスの近接攻撃のアニメーションを変更した。 ▲ Memory Manager パーティーメンバーが高解像度で描画されるようになった。変更はゾーンを移動した際有効になる。ただし、Texturesオプションを"High"以上に設定する必要がある ▲ User Interface ミニマップは画面右上に表示されるようになり、キャラクターステータスはその下に表示されるようになった。 チャットウインドウのサイズが可変となった。変更するにはALTキーを押し続けると、チャットウインドウの右上に表示される小さなタブで変更することができる。 LFGインターフェイスに新しい機能が追加。”P”を押すとLFGインターフェイスが表示される。 より多くの情報をや新たな要素を追加するために外観を変更した。 パーティリーダーは既存グループの宣伝と新しいメンバーの追加が可能。 パーティを探している人はその旨を宣伝できる。新しいパーティを作成したい場合は"CREATE PARTY"オプションを選択。それ以外は参加するパーティを探している人としてリストアップされる。 より適切なパーティを検索するために、新しいサーチフィルタが追加された。 LFGインターフェイスからグループや個人に対してInvite,Join,Wisperができるようになった。 ▲ Skills TemplarやCavalistに大幅なバランス調整が入っている。 Cabalist Brom s Curse このスペルは呪文は、攻撃者のヘルスのパーセンテージをベースにするのではなく、攻撃者のレベルをベースにした一定量の値を回復させるようになった。 スキルランクごとの向上が調整された。ランク1のBrom s Curseは、5秒の間、標的4体までを対象とする。標的の最大数はランクごとに1体、持続時間はランクごとに1秒増加し、回復量はランクごとに12.5%増加する。 移動中も使用可能になった。 射程距離が20mに増加した。 Afterlife 必要なPower cost が減少された。 Elemental Drain 必要なPower cost が大幅に減少された。 詠唱時間が1秒減少された。 Word of Fear Fear Attack Strengthは詠唱者のレベルに応じて適切に変化するようになった。 基本 Fear Attack Strengthが25%上昇された。 ランクごとの向上が調整された。1ランク上昇するごとに、Fear Attack Strengthは33%増加する。 Evoker スキルランクボーナスの説明が更新され、ランク1の初期効果をベースに統一された。 たとえば、Spectral Boltの説明はランク1ではPhase Attack Strengthのボーナスはなく、追加ランクごとに25%のPhase Attack Strengthボーナスがあることを、より明確に表示するようになった。 Spectral Curse Spectral Curse は、ターゲットの移動速度も10%減少させる。 スキルランクごとの向上が調整された。ランク1のSpectral Curseは標的4体を対象とし、5秒持続する。1ランク上昇するごとに、標的の最大数が1体増加、持続時間1秒増加、移動速度を5%減少させる。 移動中も使用可能になった。 必要なPower cost が大幅に減少され、射程距離が20mに増加した。 Spectral Curseの爆発ダメージが増加した。 Drain Power 呪文ダメージが著しく増加した。 Drain Life 呪文ダメージが2倍に増加した。 Arcane Shield スキルランクごとの向上が調整された。, 低ランクにおけるシールド値がわずかに低下した。 Evokerの移動の影響を受けなくなりました。(移動しても解除されなくなった) 効果時間が10秒、再使用時間が25秒になった。 Concentrate Damage スキルランクごとの向上が調整された。初期ダメージボーナスは減少するが、ランクごとのボーナスは上昇する。ランク4で以前のダメージボーナスを超過する。 Summon Ember スキルランクごとの向上が調整された。ランクによる追加ダメージは20%から15%へ減少したが、全ランクでEmberの基本ダメージが劇的に上昇した。 Enberの体力、ダメージ、Ignite Attack Strength、クリティカルチャンス、Interrupt Strength、 Interrupt Defense、アーマー値が上昇した。 Firestorm スキルランクごとの向上が再構成された。ランクを上げるとIgnite Attack Strengthを上昇させるかわりに5%増加するようになった。ランク3で以前のダメージを超える。 Ignite Attack Strengthが減少した。 スペルの射程距離が10mに上昇した。 Flameshards Flameshardsは改訂された。噴出される炎の破片は7個になりますが、 複数の破片が重複するようになる。この重複することにより、1つ1つの破片ダメージはやや減少した。 Flameshardsのランクを上げると、各破片は25%Ignite Attack Strengthが上昇する。 2秒間の再使用時間がかかるようになった。 スペルに必要なPower costが減少された。 スペルの基本Ignite Attack Strengthが25%上昇した。 スペルの射程距離が25mに上昇した。 Flameshardsの爆発遅延が1秒に減少した。. Hellfire スペルの詠唱時間と、初期Power costが劇的に減少した。ランク上昇によるPower costの減少は若干少なくなった。 2秒間の再使用時間がかかるようになった。 ダメージとIgnite Attack Strengthが劇的に上昇した。 スペルの射程距離が25mに減少した。 スペルのターゲットが固定になった。 Spectral Bolt スキルランクごとの向上が調整された。1ランク上昇ごとに25%のPhase Attack Strengthが追加される。初期Phase Attack Strengthも僅かに増加された。 スペルに必要なPower costが減少し、Phaseの持続時間が1秒増加した。 再使用時間が1秒に減少された。 基本Phase Attack Strengthが25%増加した。. Spectral Lash スペルのダメージが35%上昇された。 Spectral Lash Mastery スペルによる爆発のダメージが2倍になった。 スペルのランクにおけるボーナスが適切に適用されるようになった。 Lightning Field スペルのダメージが著しくに増加した。 スペルに必要なPower costが減少した。 2秒間の再使用時間がかかるようになった。 ランクボーナスのツールチップは、効果範囲のかわりに15%の増加を適切に表示するようになった。 初期効果のスプラッシュダメージが17%増加した。 Tempest 詠唱時間、Power cost、再使用時間が減少した。 基本ダメージが減少した。 ランク上昇による攻撃間隔の上昇を10%ずつに減少した。 テンペストの雲は15秒持続し、効果範囲は15mになった。 スペルのランク上昇によるボーナスは適切に機能するようになった。 Arc Legion ランク上昇によるボーナスが変更された。ランクを上昇させる毎にShock Attack Strength and Shock Effect Damageが25%追加される。 スペルの効果範囲が18mに固定された。 スペルのダメージが増加された。 Demonspine ランク上昇によるボーナスが若干修正され、ランク上昇ごとにStun Attack Strengthが25%上昇するようになった。 スペルに必要なPower costが減少された。 スペルのダメージが増加した。 基本Stun Attack Strengthが20%増加した。 Boneshards ランク上昇によるボーナスが若干修正され、ランク上昇ごとにStun Attack Strengthが50%上昇するようになった。 スペルのダメージが60%上昇した。 スペルの再使用時間が6秒に減少された。 基本Stun Attack Strengthが25%増加した。 スペルに必要なPower costが増加した。 Skullsplitter スキルランクごとの向上が調整された。このスキルはレベル1で12の破片を生むスキルになり、以後ランク上昇ごとに+2ずつの追加の破片を得る。 破片の爆発パターンは、よりわかりやすいものとなった。 power cost と再使用時間が減少した。 Venomous Spirit ダメージが上昇し、PowerCostは減少した。 このスペルのFear Attack Strengthはキャラクターレベルに依存するようになり、ランク上昇時のFear効果持続時間追加は失われた。 弾速が著しく速くなった。 Venom Armor 再使用時間に関するバグが修正された。 SwarmによるThornsダメージが増加した。また、Thornsダメージは正しい持続時間を維持するようになった。 スキルランク1時点でのアーマー値は減少したが、ランク上昇に伴うアーマー上昇値が増加したため、ランク10におけるアーマー値は修正以前と変わらない。 Swarm スキルランクごとの向上が変更された。ランク上昇ごとにPoison Attack Strength とPoison Duration of Swarm が20%ずつ上昇するようになった。 再使用時間が6秒に変更された。 PowerCostが著しく減少した。 Templar Aura of Power, Aura of Renewal, Aura of Defense, and Aura of Salvation の各スキルが調整された。 これらのスキルはランク上昇ごとに33%の効果上昇を得るようになり、スキルポイントを消費することによる見返りが増大した。 Aura of Power このスキルによるパワー回復量は若干減少した。 ランク10におけるパワー回復量は、修正前を100とすると94となる。 Blademaster Call of the Chosen Taunt及びFear Attack Strengthはキャラクターレベルに依存するようになった。 Guardian Aura of Renewal ランク1でのヘルス回復量は著しく減少したが、ランク上昇における恩恵が増大している結果、ランク10においては以前の回復量を上回るようになった。 Aura of Defense このスキルにおける上昇アーマー値は減少した。 Aura of Salvation ランク1でのElemental Defenseは著しく減少したが、ランク上昇における恩恵が増大している結果、ランク10においては以前の数値を上回るようになった。 Grand Aura ランク上昇ごとの範囲拡大率が均等になった。最大であるランク5における効果範囲は修正前と同様。 Challenge このスキルによるTaunt Attack Strengthはキャラクターレベルに依存するようになった。 Denounce このスキルによるTaunt Attack Strengthはキャラクターレベルに依存するようになった。 ▲ Quests Sydonaiを倒したあと、Emmeraと接触できないせいで完了できなくなる一部のクエストは、Sammyという名前の新NPCに引き継がれるようになった。 ▲ Items Patch 0.5以前にドロップした特殊能力を一切持たないユニークアイテムを、無料で再抽選できるようになった。手順は次の通り: まずDelux De-Modificatorを使用してすべてのModを取り外す。対象アイテムに限り1度だけ無料で使用できる。 すべてのModを外したらアイテムをAugmentrex 3000に入れ、3つの"Add Property" ボタン(Common,Rare,Legendary)の どれかをクリックすると、アイテム特性が再抽選される。 すべてのアイテム特性が再抽選され、バランス調整が行われる。もし、そのアイテムレベルをNano Forgeでアップグレードしていた場合、ベースレベルでのアイテム特性の再抽選が行われたものに追加レベルが付与される。つまり、新しいアイテムレベルは以前のものと異なる可能性がある。 Gyro StabilizerのStun Defenceが上昇された。 高レベルの駅でもHealth injectorやPower injectorが販売されるようになった。 Fire Extinguishersは適切なIgnite Defenseを発揮するようになった。 ▲ Monsters Infested 特性を持つモンスターのダメージが減少された。 ▲ Crafting アイテムのアップグレード回数の上限が10回に引き上げられた。 アイテムのアップグレードに必要な資源が50%減少された。 ”Nanoshards”という新しく導入される製作材料がアイテムのアップグレードに必要になった。 ”Nanoshards”は、さまざまなアイテムから入手可能だがよりレアなアイテムを分解したときほど出現率が高くなる。 個々のアイテムのアップグレード回数によって、必要なNanoshardsの数が増加する。 ▲ Fixes ミニゲームはタイマーがセットされた。(Lv50に到達しすべてのクエストを終了したキャラクターがミニゲームを終了させられなくなる問題の修正。) 65,534体のモンスターを1セッション中に倒すとキャラクターをセーブできなくなる問題を修正。 PvPにおいてGrapplerでキャラクターの位置を変更することができなくなった。 Cleanserと盾を装備すると、まれに盾が消えてしまうバグを修正。 稀にTemplarが盾とCleanser両方を装備できてしまうバグを修正。 ▲ Special Subscriber Features Stonehenge is a new, non-linear adventuring area that can be accessed through a special portal in Templar Base. The quests and areas around Stonehenge scale in difficulty to challenge characters of any level. This is to allow players to return to this section of the world numerous times and complete the longer associated quests, missions, and raid areas. Stonehenge itself is a new hub that holds a larger number of players than most Underground Stations. There are new NPCs, new quests, and most importantly, new adventuring areas that are unlike anything within the confines of London. Quests A new series of non-linear quests introduce the area surrounding the great druidic monument of Stonehenge. The Caste Caves These mystic caves can be found in the wilderness areas outside of Stonehenge. Each caste of demon - Beast, Necro, Spectral, and Primus has a powerful overlord that resides in these caves. The caves themselves are sealed by the essential aspect of their master’s caste. These caves cannot be entered until the essence of five (5) Champions of the matching demonic caste has been collected. Essence can be collected from any Champion, so adventuring above and below the streets of London may gain you the keys to unlocking these special areas. Once a character has gathered the required essence of a single Caste, they can either solo or lead a party into the caves and battle against the resident overlord. Not only are there great and special riches to be won, but the head of the caste overlord is also claimed. Once a character has collected the heads of the Beast, Necro, Spectral, and Primus overlords, the adventure continues. Moloch’s Lair A great and powerful Demon known as Moloch resides in the rough countryside surrounding Stonehenge, and only the worthy may enter his domain. Characters that have collected the heads of the Beast, Necro, Spectral, and Primus overlords can then make their way deep into the realms of Moloch, the Pit Baron. Moloch has very unique items that can only be won by defeating him in combat, so the journey to his defeat can be well worth the effort. His soul is eternal, however, so the process of opening his sanctum and destroying his corporeal form is a never-ending challenge. The Wild The other main area that lies outside of Stonehenge is known only as The Wild. The challenges here are far greater than anywhere else in or around London, requiring raiding parties to properly navigate them. The Wild is divided into three increasingly difficult sections that are balanced for parties of six, seven, and eight. This is regardless of the number of characters that enter The Wild, so while you could try to make your way slowly with a smaller group, the going will not be easy. Items There are new weapons and armor that can only be found in the areas surrounding Stonehenge. These new items have very different appearances from those found within London, so keep a sharp lookout for them. 13 new base weapon types divided amongst the Templar, Cabalist, and Hunters. Each faction also has two all-new Helmet types. Environments Apart from the settlement that has secreted itself at the Stonehenge triliths, there are numerous new areas to explore. Chief amongst these are the various Caste Caves and grand expanses and dark forests of The Wild. There are also new undergrounds and interiors to explore scattered throughout the countryside. Monsters The areas around Stonehenge also have spawned new Demons. The Winged Imps rain death down from the skies and swoop in to sever heads of those foolish enough to seek them out. Burning Fiends move amongst the underbrush and between the windswept trees. Moloch, the Pit Baron, also makes his fiery presence felt for the first time. Patch Notes Disclaimer While we make every effort to include all upcoming changes in our patch notes, please be aware that occasionally some changes are unintentionally omitted.
https://w.atwiki.jp/xbox360score/pages/1904.html
Galactic Reign 項目数:20 総ポイント:200 難易度: 製品情報:Windowsストア 配信日:2013年3月12日 ジャンル:戦略 シミュレーション ☆ Windows Phone7 / Windows 8用タイトル Windows 8版は2013年8月15日をもって配信終了、オンラインサーバーは12月31日に停止予定。(米国時間) セーブ、マルチプレイは共有。 Design a Ship Design a new ship. 5 Activate Scanners Analyze a ship in a battle video. 5 Strike Up the Colors Personalize your forces. 5 Tactician Earn 30 stars in Battle Academy challenges. 10 Master Tactician Earn 150 stars in Battle Academy challenges. 20 オンライン 155 Win a Battle Win a battle in a multiplayer game. 10 A Good Start Earn a victory point. 5 Win a Game Win a game. 10 Master and Commander Win 25 games. 20 We Happy Few Win a battle with 50% or less of the enemy's fleet value in a multiplayer game. 10 Once More Unto the Breach Win a battle with less than 10% of your fleet value remaining in a multiplayer game. 10 Scour from the Stars Win two battles in one turn. 10 The Engine of War Colonize three planets in one turn. 10 Always Go At Them Build a fleet of value 3000 by turn four. 10 Overwhelming Force Build a fleet with five or more dreadnaughts in a multiplayer game. 10 You Sank My Dreadnaught! Destroy an enemy dreadnaught in a multiplayer game. 10 I Have the High Ground Control all victory planets at the end of a turn. 10 Sever the Supply Lines Bombard a planet that breaks an opponent's sector. 10 Sticks and Stones Research all technologies in one game. 10 Playing the Long Game Win a game after being down by 10 victory points. 10 Tactician、Master Tactician、Master and Commanderは、どちらかの機種で解除すれば両方で解除される。 Win8でセルフ談合するには、PC設定で新しいユーザー(サブタグ)を追加し、デモをインストールする。 Activate Scanners 戦闘結果でSCANを選択した後、枠内をクリック。 Master Tactician 参考 TAガイド 必ず同じ結果が得られるわけではないので、書かれている通りの結果にならなかった場合は何度かリトライする。 Master and Commander 開始直後に相手が降伏してもカウントされる。 We Happy Few 敵艦隊価値の50%以下の戦力で勝利。談合推奨。 一例 自SUNDOG Bombardment Dreadnaught x1(RKX MACROMISSILES x2、Armor Plating x3) vs 敵ALKARI Light striker x670 Once More Unto the Breach 10%以下の艦隊価値を残して勝利する。談合推奨。 相手と同じ戦力の艦隊を戦わせ続ければ、いずれ解除される。
https://w.atwiki.jp/0-0idol/pages/12.html
プロダクション概要 名前 0-0プロダクション(らぶおーる-) 規模 大手プロダクション 所在地 神奈川県内 所属アイドル数 不明 業種 エンターテインメント総合事業 代表 愛井零ニ 理念 「全ての人に愛を!」「初心忘れるべからず!」「どんな勝負も最初は0-0から!」 所属アイドル グループ名 担当プロデューサー Pa4mans 桜木 mast/nova 桜木
https://w.atwiki.jp/warband/pages/608.html
ui_texture_detail|テクスチャの質 ui_max_frame_rate|最大フレームレート ui_enable_bumpmap|バンプマッピングを使用する ui_disable_blood|血を隠す ui_disable_music|音楽を無効にする ui_disable_sound|効果音を無効にする ui_enable_cheats|チートを有効にする ui_enable_edit_mode|エディットモードを有効にする (注意:ゲームが遅くなります) ui_enable_pixel_shaders|ピクセルシェーダを使用する ui_enable_sound_variation|サウンドに多様性を持たせる ui_enable_vertex_shaders|描画方式 ui_shadow_quality|影の質 ui_directx_7|DirectX 7 ui_directx_9|DirectX 9 ui_show_framerate|フレームレートを表示する ui_start_windowed|ウインドウモードにする ui_trialmode_caption|認証 ui_trialmode|お手数ですが、あなたのシリアルキーでMount Blade Warbandを動かしてください。あなた特有の16桁のシリアルキーはあなたの箱に入れられているコピーの中に含まれています。\n現在どんな理由でもゲームを起動したくないなら、あなたはまだトライアルモードをプレイし続けることができますが、しかしキャラクターレベル8を超えて進めることができないでしょう。 ui_launch_buy|TaleWorlds.comでライセンスを購入 ui_launch_faq|認証に関する質問 ui_trialmode2|今すぐ認証してゲームを遊ぶには... ui_trialmode3|他の方法... ui_trialmode4|認証プロセスによる質問を見る... ui_serial_key_caption|Serial Key ui_notification_serial_input|あなたのシリアルキー(コピー ペースト推奨) を入力して認証ボタンをクリック ui_activate|アクティベート ui_paste|貼り付け ui_notification_serial_internet_connection|アクティベートにはインターネットに接続する必要があります ui_notification_serial_offline|また、このコンピュータがインターネットへのアクセス手段がないなら、あなたは以下を使用できます。 ui_manual_activation|マニュアル認証 ui_offline_activation|オフライン認証 ui_manual_activation_caption|マニュアル認証 ui_offline_activation_caption|オフライン認証 ui_cancel2|キャンセル ui_close|閉じる ui_ok2|OK ui_activation_successful|ゲームの起動に成功しました。 ui_activation_successful2|後日のためにシリアルキーを保管してください。 新しいコンピュータにMount Blade Warbandをインストールしたいなら、あなたは将来、再びそれを必要とするかもしれません。 ui_activation_denied|起動を拒絶されました! ui_notification_serial_already_used|別のコンピュータで シリアルキーは既に使用されています。 あなたは数週間 このコンピュータで ゲームを再開するのを 待たなければなりません。 ui_notification_unable_to_connect_to_activation_server|起動サーバに接続できません! ui_notification_unable_to_connect_to_activation_server2|インターネット接続が 適切に行われているか 確認してから、 再度試してください。ファイアウォールを 設定している場合、 ゲームがインターネットへ 接続するのを許可する 必要があります。 いずれの手段も失敗した場合は、 手動でアクティベーションしてください。 ui_incorrect_serial_number|シリアルキーが間違っています! ui_incorrect_hardware_hash|ハードウェアのハッシュが間違っています! ui_incorrect_activation_code|アクティベーションコードが間違っています! ui_cant_write_to_registry|レジストリへの書き込みが出来ません! ui_video|映像 ui_audio|音声 ui_game|ゲーム ui_advanced|詳細 ui_mount_and_blade_is_ready|Mount Blade Warband is ready. ui_notification_trial_mode|Mount Blade Warbandは体験版で起動しています。 プレイヤーのレベルが 6になるまで自由にゲームを遊べます。 以降も続ける場合は、 taleworlds.comから ライセンスを購入してください。 オンラインでライセンスを購入してから、 ゲームをアンロックするまでわずか一分ほどです。 ui_there_are_no_modules_installed|モジュールがインストールされていません! ui_notification_new_version|A newer version of Mount Blade Warband was found.\nCurrently installed version is %d.%d%d%d.\nLatest version of Mount Blade Warband is %d.%d%d%d.\nYou can download the new version from www.taleworlds.com. ui_new_version_found|New Version Found! ui_notification_unable_to_retreive_new_version|Unable to retrieve new version info. Please try again later. ui_new_version|New Version ui_notification_latest_version|The installed version of Mount Blade Warband is the most current one. ui_mount_and_blade_is_up_to_date|Mount Blade Warband is up-to-date! ui_off|オフ ui_continue_playing_the_trial_mode|体験版で続ける ui_faq_caption|FAQ ui_faq_text|Q What is activation?\r\nA The activation system is a user-friendly copy-protection method which is based on distributing a unique serial key along with each copy of the game. You need to activate the game once on every computer that you want to play the game with your serial key. After activating once, you don't need to do anything else to play such as keeping the game disc in the drive. As long as you keep your serial key, you will be able to activate and play the game easily, even after many years.\r\n\r\nQ Where can I find my serial key?\r\nA Each boxed copy of the game includes a unique serial key. Different vendors may distribute the keys in different ways, but it is typically attached to the cover of your printed manual. If you have purchased your game online, then the online vendor should supply you your serial key.\r\n\r\nQ How does the activation process work?\r\nA The game creates a hash-value from the specifications of your computer and sends it to an activation server over the internet together with your serial key. The activation server registers the serial key to your computer and responds with an activation number, which then unlocks the full mode of the game.\r\n\r\nQ Can I activate the game on multiple computers?\r\nA Yes, you can. But please remember that the game is licensed to you for your own personal use. The activation server may reject a serial key temporarily if it is used on too many computers in a short period of time. \r\n\r\nQ The program stops to respond after I click on the activate button.\r\nA Sometimes it may take up to half a minute to carry out the activation process. Be patient, the game will eventually report the result.\r\n\r\nQ My computer does not have access to the internet. How can I activate the game?\r\nA In this case you may use manual activation. Just click on "Enter Your Serial Key", and then "Manual Activation" buttons. You will still need to open up the manual activation web-page from another computer that is linked to the internet.\r\n ui_auto_adjust|自動調整 ui_screen_size|画面解像度 ui_antialiasing|アンチエイリアス ui_use_desktop_resolution|デスクトップの解像度 ui_play|Mount Blade Warband をプレイ ui_check_for_new_version|新しいバージョンをチェックする ui_configure|設定 ui_configure_caption|Configure ui_mountandblade_website|Mount Blade Warband Website ui_current_setting| Current Module ui_manual_activation_text1|1) In your web browser, open the following address ui_manual_activation_text2|2) In the webpage that opens enter your serial key... ui_manual_activation_text3|3) ...and this machine's hardware hash ui_manual_activation_text4|4) The page will then give you an activation code. Enter or paste it below and click OK. ui_activation_code|Activation Code ui_force_vsync|垂直同期をオンにする ui_module_newer_than_application|The module you selected has been specified NOT TO WORK with the current version of the game. You are strongly advised not to run this setting. To remedy this, you may try checking for a newer version of the game. ui_module_older_than_application|The module you selected has been created for an older version of the game and may not work with the current version of the game. You may go ahead and try running it but there is a chance that you will run into difficulties. To remedy this, you may check if a newer version of the module is available. ui_m_low|低 ui_m_high|高 ui_m_ultra_high|最高 ui_force_single_threading|強制的にシングルスレッドにする ui_not_enough_memory|It seems that you currently have %d MB of available total physical and virtual memory. Mount Blade Warband requires at least 700 MB of available memory in order to run without a problem. If Mount Blade Warband continuously crashes during your play, please close some of your programs before starting Mount Blade Warband or increase your virtual memory from Control Panel - System menu. ui_install|Install Mount Blade Warband DirectXText|"Mount Blade Warband requires DirectX 9.0c or above to run. This computer does not meet the requirement. To fix the problem you need to download and install the latest version of DirectX from Microsoft's website. Would you like to visit TaleWorlds DirectX Download page now?" NoMountAndBladeText|"Mount Blade Warband has not been installed on this computer. Please download the full installer from www.taleworlds.com and use it to install the game." ui_SavegamesText|"Do you want to keep your save files?" ui_trialmode_online|Mount Blade Warband is currently running in Trial Mode. In this mode you can play the game freely until your character reaches level 7. To continue further, you need to enter a serial key and activate the game. If you have already purchased the game, please enter your serial key now. If not you may easily purchase the game from Taleworlds.com. It takes only a minute to buy a license online and unlock the complete mode. ui_launch_activate|Enter Your Serial Key ui_trialmode2_online|After buying a license, you will obtain your serial key.\nTo unlock the full mode just proceed to... ui_trialmode3_online|Or, if you don't wish to purchase the game yet you can also... ui_trialmode4_online|Our online sales process is fully secure and we greatly respect our customers' rights to security, privacy, having backup copies of their game and upgrading their computers/hardware. If you'd like to learn more about our sales policy, please take a look at ui_ondemand_textures|要求に応じてテクスチャを読み込む ui_language|言語 ui_steam_not_running|Steam could not be initialized properly. Steam must be running to play this game. ui_switch_to_turkish_explanation|Oyunun dilini Turkce'ye cevirmek ister misiniz? ui_switch_to_turkish_yes|Evet ui_switch_to_turkish_no|Hayir ui_new_version_message|A newer version of the game is available. Do you wish to visit the download page now? ui_enable_version_check|バージョンチェックを有効にする ui_disable|無効にする ui_yes2|はい ui_no2|いいえ ui_new_version_message2|A newer version of the game is available. Please visit the online portal you purchased the game from to download the new version.
https://w.atwiki.jp/javamock/pages/36.html
テキストエディタ ソース ver1.0 TextEditor.java import java.awt.Dimension; import java.awt.HeadlessException; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTextArea; /** * テキストエディタのメインクラスです * * @author mock * */ public class TextEditor extends JFrame implements ActionListener { /** * serialVersionUID */ private static final [[long]] serialVersionUID = 1L; /** * テキストエリア */ private JTextArea textArea; /** * メニューバー */ private JMenuBar menuBar; /** * ファイル選択 */ private JFileChooser fileChooser = new JFileChooser(); /** * テキストエリアの幅 */ private final [[int]] textAreaWidth = 300; /** * テキストエリアの高さ */ private final int textAreaHeight = 300; /** * 新規のタイトル名 */ private final [[String]] undifinedTitle = "title"; /** * バージョン */ private final String version = "ver1.0"; /** * コンストラクタ * * @throws HeadlessException */ TextEditor() throws HeadlessException { super(); setVisible(true); setTitle(undifinedTitle); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // メニューバーの作成 createMenuBar(); // テキストエリアの作成 createTextArea(textAreaWidth, textAreaHeight); pack(); } /** * mainメソッドです * * @param args */ public static void main(String[] args) { new TextEditor(); } /** * メニューバーを作成するメソッドです */ private void createMenuBar() { menuBar = new JMenuBar(); getRootPane().setJMenuBar(menuBar); // ファイル(F) JMenu menuFile = new JMenu("ファイル(F)"); menuFile.setMnemonic('F'); menuBar.add(menuFile); // ファイル(F)>新規(N) JMenuItem menuItemNew = new JMenuItem("新規(N)"); menuItemNew.setMnemonic('N'); menuItemNew.setActionCommand("NEW"); menuItemNew.addActionListener(this); menuFile.add(menuItemNew); // ファイル(F)>開く(O) JMenuItem menuItemOpen = new JMenuItem("開く(O)"); menuItemOpen.setMnemonic('O'); menuItemOpen.setActionCommand("OPEN"); menuItemOpen.addActionListener(this); menuFile.add(menuItemOpen); // ファイル(F)>上書き保存(S) JMenuItem menuItemSave = new JMenuItem("上書き保存(S)"); menuItemSave.setMnemonic('S'); menuItemSave.setActionCommand("SAVE"); menuItemSave.addActionListener(this); menuFile.add(menuItemSave); // ファイル(F)>名前を付けて保存(A) JMenuItem menuItemSaveAs = new JMenuItem("名前を付けて保存(A)"); menuItemSaveAs.setMnemonic('A'); menuItemSaveAs.setActionCommand("SAVEAS"); menuItemSaveAs.addActionListener(this); menuFile.add(menuItemSaveAs); // ヘルプ(H) JMenu menuHelp = new JMenu("ヘルプ(H)"); menuHelp.setMnemonic('H'); menuBar.add(menuHelp); // ヘルプ(H)>バージョン情報 JMenuItem menuItemVersion = new JMenuItem("バージョン情報"); menuItemVersion.setActionCommand("VERSION"); menuItemVersion.addActionListener(this); menuHelp.add(menuItemVersion); } /** * テキストエリアを作成するメソッドです * * @param width * テキストエリアの幅 * @param height * テキストエリアの高さ */ private void createTextArea(int width, int height) { textArea = new JTextArea(); JScrollPane scrollPane = new JScrollPane(textArea); scrollPane.setPreferredSize(new Dimension(width, height)); getContentPane().add(scrollPane); } /* * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ @Override public void actionPerformed(ActionEvent e) { String actionCommand = e.getActionCommand(); if (actionCommand.equals("NEW")) { newFile(); } else if (actionCommand.equals("OPEN")) { openFile(); } else if (actionCommand.equals("SAVE")) { save(); } else if (actionCommand.equals("SAVEAS")) { saveAs(); } else if (actionCommand.equals("VERSION")) { showVersionInfo(); } } /** * 「ファイル(F)>新規(N)」選択時に処理を行うメソッドです */ private void newFile() { fileChooser.setSelectedFile(null); fileChooser.setName(undifinedTitle); setTitle(undifinedTitle); textArea.setText(""); } /** * 「ファイル(F)>開く(O)」選択時に処理を行うメソッドです */ private void openFile() { try { if (fileChooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { File selectedFile = fileChooser.getSelectedFile(); FileReader fileReader = new FileReader(selectedFile); textArea.read(fileReader, null); fileReader.close(); setTitle(fileChooser.getName(selectedFile)); } } catch (Exception e) { e.printStackTrace(); } } /** * 「ファイル(F)>上書き保存(S)」選択時に処理を行うメソッドです */ private void save() { // ファイルが既に開かれている場合 if (fileChooser.getSelectedFile() != null) { try { writeFile(); } catch (Exception e) { e.printStackTrace(); } [[return]]; } saveAs(); } /** * 「ファイル(F)>名前を付けて保存(A)」選択時に処理を行うメソッドです */ private void saveAs() { try { // ファイルダイアログ「保存」が選択された場合 if (fileChooser.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) { writeFile(); File selectedFile = fileChooser.getSelectedFile(); setTitle(fileChooser.getName(selectedFile)); } } catch (Exception e) { e.printStackTrace(); } } /** * 「ヘルプ(H)>バージョン情報」選択時に処理を行うメソッドです */ private void showVersionInfo() { JOptionPane.showMessageDialog(this, version, "version", JOptionPane.INFORMATION_MESSAGE); } /** * fileChooserで選択されているファイルを保存するメソッドです * * @throws IOException */ private void writeFile() throws IOException { FileWriter fileWriter = new FileWriter(fileChooser.getSelectedFile()); fileWriter.write(textArea.getText()); fileWriter.close(); } }
https://w.atwiki.jp/wnt0/pages/21.html
処理の呼び出し手順(流れ)の再利用 デフォルト動作を定義したときに、サブクラスで定義し忘れないよう注意 メリット 処理の流れを把握しやすい カスタマイズポイントが明確 処理の流れの再利用ができ、コード量を減らせる http //www.dofactory.com/Patterns/PatternTemplate.aspx#_self1 をc++にした (structural example) #include iostream using namespace std; // The AbstractClass abstract classclass AbstractClass {public // The "Template method" void TemplateMethod() { PrimitiveOperation1(); PrimitiveOperation2(); PrimitiveOperation3(); cout endl; } virtual void PrimitiveOperation1() = 0; virtual void PrimitiveOperation2() = 0; // hook method virtual void PrimitiveOperation3() { cout "AbstractClass PrimitiveOperation3()" endl; }}; // A ConcreteClass classclass ConcreteClassA public AbstractClass {public virtual void PrimitiveOperation1() { cout "ConcreteClassA PrimitiveOperation1()" endl; } virtual void PrimitiveOperation2() { cout "ConcreteClassA PrimitiveOperation2()" endl; }}; // A ConcreteClass classclass ConcreteClassB public AbstractClass {public virtual void PrimitiveOperation1() { cout "ConcreteClassB PrimitiveOperation1()" endl; } virtual void PrimitiveOperation2() { cout "ConcreteClassB PrimitiveOperation2()" endl; } virtual void PrimitiveOperation3() { cout "ConcreteClassB PrimitiveOperation3()" endl; }}; // clientint main() { AbstractClass *aA, *aB; aA = new ConcreteClassA(); aA- TemplateMethod(); aB = new ConcreteClassB(); aB- TemplateMethod(); delete aA; delete aB; return 0;} 出力 ConcreteClassA PrimitiveOperation1() ConcreteClassA PrimitiveOperation2() AbstractClass PrimitiveOperation3() ConcreteClassB PrimitiveOperation1() ConcreteClassB PrimitiveOperation2() ConcreteClassB PrimitiveOperation3() 参考サイト デザインパターンを“喩え話”で分かり易く理解する http //www.netlaputa.ne.jp/~hijk/study/oo/designpattern.html TECHSCORE http //www.techscore.com/tech/DesignPattern/index.html/ Programing Place http //www.geocities.jp/ky_webid/index_old.html デザインパターンの骸骨たち http //www002.upp.so-net.ne.jp/ys_oota/mdp/ デザインパターンの使い方 Template Method http //japan.internet.com/developer/20080909/26.html
https://w.atwiki.jp/vernei0/
ジュークボックス 私が学生の頃ゲームセンターには、ジュークボックスという20曲ぐらいのレコードが入っていて、100円で一曲選んで鳴り響かせていました。 洋楽をリクエストしてゲームセンターの隅で先輩と踊っていました。 バンドブームだったので、他の友達はボーイやレベッカあたりをかけて口ずさんでいましたね。 ラムネかコーラ片手にゲームはしないで音楽を聞きいっていたものです。 ファッションもアロハシャツにジーンズか黒のスリムジーンズにTシャツにわかれていましたね。 そのころは。 http //www64.atwiki.jp/quezmei1/ http //bettysen.exblog.jp/ 筆ペンで文字を書くのは楽しい 先日、冠婚葬祭などに使うための筆ペンを購入しました。 そうして家に帰って筆ペンで試し書きをしてみたのですが、普段使っているボールペンや鉛筆とは違い、慣れるまでは書き辛そうだなと感じました。 筆ペンで文字を書くとかなり達筆でバランスよく書かなければ、ヘタなのが目立ってしまいます。 でも筆ペンで文字を書いているとだんだんと楽しくなってきて、何度も何度も文字を練習してしまいました。 冠婚葬祭に役立つ前にインクが尽きてしまいそうです。 http //aguilar0.webnode.jp/ http //www.voiceblog.jp/suenyu/
https://w.atwiki.jp/javadsge/pages/2716.html
!DOCTYPE html html head title TODO /title meta charset="UTF-8" link rel="stylesheet" href="material.min.css" link rel="stylesheet" href="https //storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css" script src="https //storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js" /script link rel="stylesheet" href="https //fonts.googleapis.com/icon?family=Material+Icons" /head body div class="mdl-layout mdl-js-layout mdl-layout--fixed-header mdl-layout--fixed-tabs" header class="mdl-layout__header" div class="mdl-layout__header-row" !-- Title -- span class="mdl-layout-title" Title /span /div !-- Tabs -- div class="mdl-layout__tab-bar mdl-js-ripple-effect" a href="#fixed-tab-1" class="mdl-layout__tab is-active" Tab 1 /a a href="#fixed-tab-2" class="mdl-layout__tab" Tab 2 /a a href="#fixed-tab-3" class="mdl-layout__tab" Tab 3 /a /div /header div class="mdl-layout__drawer" span class="mdl-layout-title" Title /span /div main class="mdl-layout__content" section class="mdl-layout__tab-panel is-active" id="fixed-tab-1" div class="page-content" !-- Your content goes here -- /div /section section class="mdl-layout__tab-panel" id="fixed-tab-2" div class="page-content" !-- Your content goes here -- /div /section section class="mdl-layout__tab-panel" id="fixed-tab-3" div class="page-content" !-- Your content goes here -- /div /section /main /div /body /html
https://w.atwiki.jp/0x0b/pages/52.html
RegExp (正規表現) オブジェクト (RegExp (Regular Expression) Objects) RegExp オブジェクトは、正規表現と関連するフラグで構成される。 NOTE 正規表現の書式と機能は、 Perl5 プログラミング言語の正規表現を模して作られる。 パターン (Patterns) RegExp コンストラクタは、入力パターン文字列に下記の文法を適用する。文法が文字列を Pattern の 展開として解釈できなければ、エラーが発生する。 Syntax Pattern Disjunction Disjunction Alternative Alternative | Disjunction Alternative [empty] Alternative Term Term Assertion Atom Atom Quantifier Assertion ^ $ \ b \ B Quantifier QuantifierPrefix QuantifierPrefix ? QuantifierPrefix * + ? { DecimalDigits } { DecimalDigits , } { DecimalDigits , DecimalDigits } Atom PatternCharacter . \ AtomEscape CharacterClass ( Disjunction ) ( ? Disjunction ) ( ? = Disjunction ) ( ? ! Disjunction ) PatternCharacter SourceCharacter but not any of ^ $ \ . * + ? ( ) [ ] { } | AtomEscape DecimalEscape CharacterEscape CharacterClassEscape CharacterEscape ControlEscape c ControlLetter HexEscapeSequence UnicodeEscapeSequence IdentityEscape ControlEscape one of f n r t v ControlLetter one of a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z IdentityEscape SourceCharacter but not IdentifierPart DecimalEscape DecimalIntegerLiteral [lookahead ( DecimalDigit] CharacterClassEscape one of d D s S w W CharacterClass [ [lookahead ∉ {^} ] ClassRanges ] [ ^ ClassRanges ] ClassRanges [empty] NonemptyClassRanges NonemptyClassRanges ClassAtom ClassAtom NonemptyClassRangesNoDash ClassAtom - ClassAtom ClassRanges NonemptyClassRangesNoDash ClassAtom ClassAtomNoDash NonemptyClassRangesNoDash ClassAtomNoDash - ClassAtom ClassRanges ClassAtom - ClassAtomNoDash ClassAtomNoDash SourceCharacter but not one of \ ] - \ ClassEscape ClassEscape DecimalEscape b CharacterEscape CharacterClassEscape パターンの意味 (Pattern Semantics) 正規表現パターンは、下に述べる処理を用いる内部関数に変換される。実装は、同じ結果を得られるならば、下に述べるものよりもより効率のいいアルゴリズムの仕様が推奨される。 表記法 (Notation) 以下の説明では、次の変数を用いる Input は、正規表現パターンによりマッチされている文字列である。表記 input[n] は input の n 番目の文字を意味する。 n の範囲は 0 から InputLength -1 までである。 InputLength は、 Input 文字列の文字数である。 NCapturingParens は、パターン内の左捕捉括弧の数の総数 (すなわち Atom ( Disjunction ) 生成規則が展開される回数の総数) である。左捕捉括弧は、 Atom ( Disjunction ) 生成規則の ( 終端記号によりマッチされる、任意の ( パターン文字である。 IgnoreCase は、 RegExp オブジェクトの ignoreCase プロパティの設定である。 Multiline は、 RegExp オブジェクトの multiline プロパティの設定である。 さらに、以下の説明では、次の内部データ構造を用いる CharSet は、文字の数学的集合である。 State は (endIndex, captures) のペアの並びで、 endIndex を整数、 captures を NCapturingParens 値の内部配列とする。 State は、正規表現のマッチングアルゴリズムにおいて部分マッチの状態を表すのに使用される。 endIndex は、その時点でパターンにマッチする最後の入力文字のインデックス + 1 であり、 captures は捕捉括弧の結果を保持する。 captures の n 番目の要素は、捕捉括弧の n 番目の集合によって取得される値を表す文字列であり、捕捉括弧の n 番目の集合がまだ届いていないならば undefined である。バックトラッキングのため、多くの state がマッチング処理間いつでも使用されてよい。 MatchResult は、 State であるか、またはマッチに失敗したことを示す特殊トークン failure であり、どちらか一方である。 Continuation 関数は、内部クロージャ (すなわち、引数が既に値に結合されている内部関数) であり、 1 個の引数 State をとり結果 MatchResult を返す。内部クロージャが、そのクロージャを生成する関数に結合された変数を参照するならば、クロージャが使用するのはクロージャが生成されたときにそれらの変数が持っていた値である。 continuation は、引数 State で与えられる中間状態で開始して、入力文字列に対するパターンの残りの部分 (クロージャの結合済み引数で特定される) にマッチを試みる。マッチに成功したならば、 continuation はそれに達した最後の State を返す; match に失敗ならば、 continuation は failure を返す。 Matcher 関数は、 2 個の引数 -- State と Continuation -- をとる内部クロージャで、結果 MutchResult を返す。 matcher は、引数 State で与えられる中間状態から開始して、入力文字列に対してパターンの中央の部分パターン (クロージャの結合済み引数で特定される) にマッチを試みる。引数 Continuation は、パターンの残りにマッチさせるクロージャでなければならない。新しい State を得るためのパターンの部分パターンのマッチングの後、 matcher はその状態の上に Cantinuation を呼出し、パターンの残りがうまくマッチできるかテストする。マッチできるならば matcher は continuation に返された状態を返す; できないならば matcher は、成功するか、または全ての可能性をつかい尽くすまで、 Continuation を繰返し呼出し、その選択点で異なる選択を試してよい。 AssertionTester 関数は、引数 State をとる内部クロージャで、結果 boolean を返す。 assertion テスターは、入力文字列の現在の位置に対する特殊条件 (クロージャの結合済み引数で特定される) をテストし、条件にマッチすれば true 、マッチしなければ false を返す。 EscapeValue は、文字または整数である。 EscapeValue を用いて DecimalEscape エスケープシーケンスの解釈をあらわす 文字 ch は、エスケープシーケンスが文字 ch として解釈されることを意味し、一方整数 n は、エスケープシーケンスが n 番目の捕捉括弧集合の後方参照として解釈されることを意味する。 Pattern 生成規則 Pattern Disjunction は、次のように評価される Disjunction を評価し、 Matcher m を取得する。 内部クロージャを返す。これは 2 個の引数、文字列 str と整数 index をとり、次を実行する Input を与えられた文字列 str とする。この変数は、セクション 15.10.2 内の関数を通して使用される。 InputLength を Input の長さとする。この変数は、セクション 15.10.2 内の関数を通して使用される。 c を、成功の MatchResult として引数 State を常に返す Continuation とする。 cap を、 1 から NCapturingParens までの添え字を持つ NCapturingParens 個の undefined 値 の内部配列とする。 x を State (index, cap) とする。 m(x, c) を呼出し、その結果を返す。 参考情報解説 (Informative comment) Pattern は内部関数値に評価 ("コンパイル") される。 RegExp.prototype.exec がこの関数を適用できるのは、文字列と、文字列内部のオフセットで、それは文字列内部のその厳密なオフセットで開始してパターンがマッチできるかどうかを決定するものである。 そして、マッチするならば、それは捕捉括弧の値となるものである。 セクション 15.10.2 のアルゴリズムは、コンパイルするパターンが例外 SyntaxError を投げてもよいように設計される; 一方、パターンが一旦コンパイルされると、文字列内のマッチを検索する結果の関数の適用は、例外を投げることが出来ない (out-of-memory など、どこでも発生しうる任意のホスト定義の例外を除く)。 Disjunction 生成規則 Disjunction Alternative の評価は、 Alternative を評価して取得した Matcher を返す。 生成規則 Disjunction Alternative | Disjunction は、次のように評価される Alternative を評価し Matcher m1 を取得する。 Disjunction を評価し Matcher m2 を取得する。 内部 Matcher クロージャを返す。これは 2 個の引数、 State x と Cantinuation x をとり、次を実行する m1(x, c) を呼出し、結果を r とする。 r が failure でないならば、 r を返す。 m2(x, c) を呼出し、その結果を返す。 参考情報解説 正規表現演算子 | は 2 個の代替を区切る。パターンはまず左の Alternative (後に正規表現が続く) のマッチを試行する; 失敗したならば、右の Disjunction (後に正規表現が続く) のマッチを試行する。左の Alternative, 右の Disjunction, 続き全てが選択点を持つならば、続きの全ての選択肢は左の Alternative 内の次の選択肢上への移動前に試行される。左の Alternative 内の選択肢を使い切ったならば、右の Disjunction が左の Alternative の代わりに試行される。 | によりスキップされたパターン成分内部の任意の捕捉括弧は、文字列の代わりに undefined 値を生成する。つまり、例えば /a|ab/.exec("abc") は結果 "a" を返し、 "ab" は返さない。もっと言えば /((a)|(ab))((c)|(bc))/.exec("abc") は以下の配列 ["abc", "a", "a", undefined, "bc", undefined, "bc"] を返し、 ["abc", "ab", undefined, "ab", "c", "c", undefined] は返さない。 Alternative 生成規則 Alternative [empty] の評価は、Matcher を返す。この Matcher は 2 個の引数 State x と Continuation c をとり、 c(x) の結果を返す。 生成規則 Alternative Alternative Term は、次のように評価される Alternative を評価し、 Matcher m1 を得る。 Term を評価し、 Matcher m2 を得る。 内部 Matcher クロージャを返す。このクロージャは 2 個の引数 State x と Continuation c をとり、次のように振舞う Continuation d を生成する。これは State 引数に y をとり m2(y, c) の結果を返す m1(x, d) を呼出し、その結果を返す。 参考情報解説 連続する Term は、入力文字列の連続する部分の同時マッチを試みる。 左の Alternative, 右の Term, 続きの正規表現の全てが選択ポイントを持つならば、 結果の全選択肢が右の Term の次の選択肢に移動する前に検査され、 右の Term の全ての選択肢が左の Alternative の次の選択肢に移動する前に検査される。 Term 生成規則 Term Assertion の評価は 2 個の引数 State x と a Continuation c を取る内部 Matcher クロージャ を返す。このクロージャは次を実行する Assertion を評価し、 AssertionTester t を取得する。 t(x) を呼び出し、結果の boolean 値を r とする。 r が false ならば、 failure を返す。 c(x) を呼び出し、その結果を返す。 生成規則 Term Atom の評価は、 Atom を評価して Matcher を取得し、その Matcher を返す。 生成規則 Term Atom Quantifier は、次のように評価される Atom を評価し、 Matcher m を取得する。 Quantifier を評価し、 3 つの結果 整数 min, 整数 (または ∞) max, boolean 値 greedy を取得する。 max が有限数で min 未満ならば、例外 SyntaxError を投げる。 parenIndex を、正規表現全体でこの生成規則展開の Term の左に発生する左捕捉括弧の数とする。 これは、この生成規則の Term に先行する Atom ( Disjunction ) 生成規則の展開総数に、この Term を閉じている Atom ( Disjunction ) 生成規則の総数を加えた数である。 parenCount を この生成規則の Atom 展開内の左捕捉括弧の数とする。これは、この生成規則の Atom に閉じられる Atom ( Disjunction ) 生成規則の総数である。 内部 Matcher クロージャを返す。このクロージャは 2 個の引数 State x と a Continuation c をとり、次のように振舞う RepeatMatcher(m, min, max, greedy, x, c, parenIndex, parenCount) を呼び出し、その結果を返す。 内部補助関数 RepeatMatcher は 8 個のパラメタ Matcher m, 整数 min, 整数 (or ∞) max, boolean 値 greedy, State x, Continuation c, 整数 parenIndex, 整数 parenCount, を取る。そして次のように振舞う max が zero ならば、 c(x) を呼出しその結果を返す。 内部 Continuation クロージャ d を生成する。このクロージャは 1 個の引数 State y をとり、次のように振舞う 1. min が zero であり、かつ y の endIndex が x の endIndex と等しいならば、 failure を返す。 2. min が zero ならば、min2 を zero とする; そうでなければ min2 を min-1 とする。 3. max が ∞ ならば、max2 を ∞ とする; そうでなければ max2 を max-1 とする。 4. RepeatMatcher(m, min2, max2, greedy, y, c, parenIndex, parenCount) を呼出し、その結果を返す。 cap を x の captures 内部配列の fresh copy とする。 parenIndex k かつ k ≤ parenIndex+parenCount を満たす整数 k のそれぞれについて、 cap[k] を undefined に設定する。 e を x の endIndex とする。 xr を State (e, cap) とする。 min が 0 以外ならば、 m(xr, d) を呼出し、その結果を返す。 greedy が true ならば、ステップ 12 へ。 c(x) を呼出し、 z をその結果とする。 z が failure でないならば、 z を返す。 m(xr, d) を呼出し、その結果を返す。 m(xr, d) を呼出し、 z をその結果とする。 z が failure でないならば、 z を返す。 c(x) を呼出し、その結果を返す。 参考情報解説 Quantifier の続く Atom は、 Quantifier で指定された回数だけ繰り返される。量指定子は貪欲でなくすることもできる。その場合、更なる後続のマッチを行ううえで Atom パターンの繰返し回数は可能な限り少ない。また貪欲にすることもできる。その場合、 Atom パターンは後続のマッチに可能な限り多くの回数繰り返される。マッチを行う入力文字列よりもむしろ Atom パターンが繰り返され、したがって Atom の異なる反復は、異なる入力部分文字列とマッチできる。 Atom と続きの正規表現がすべて選択点を持つ場合、 Atom はまず可能な限り多く(最短マッチでは少なく) のマッチを行う。続きの全選択肢は、最後の Atom 反復中での次の選択肢上に移動する前に、試行される。最後 (n 番目) の Atom 反復の全選択肢は、最後から一つ前 (n-1 番目) の Atom 反復中での次の選択肢上に移動する前に、試行される; その時点で、より多くの、またはより少ない Atom の反復が今度は可能であることが判明するかもしれない; (n-1) 番目の Atom の反復の中の次の選択肢上に移動する前に、(可能な限り少なく、または可能な限り多くのいずれかで再開し)、使い尽くされる。 /a[a-z]{2,4}/.exec("abcdefghi") が "abcde" を返すことに較べて、 /a[a-z]{2,4}?/.exec("abcdefghi") は "abc" を返す。 また、 /(aa|aabaac|ba|b|c)*/.exec("aabaac") 上の順の選択点による正規表現は ["aaba", "ba"] という配列を返し、 ["aabaac", "aabaac"] ["aabaac", "c"] とはならない。 上記の選択点の順序は、2 数の最大公約数(単項表記で表す)を算出する正規表現の記述にも使用できる。次の例は、10 と 15 の最大公約数を算出する "aaaaaaaaaa,aaaaaaaaaaaaaaa".replace(/^(a+)\1*,\1+$/,"$1") これは単項表記の最大公約数 "aaaaa" を返す。 ステップ 4 の RepeatMatcher は、 Atom が繰り返されるたびに Atom の captures をクリアする。 これは次の正規表現の振る舞いに見ることができる /(z)((a+)?(b+)?(c))*/.exec("zaacbbbcac") これは次の配列を返し ["zaacbbbcac", "z", "ac", "a", undefined, "c"] 次のようなものではない。 ["zaacbbbcac", "z", "ac", "a", "bbb", "c"] 最も外側の * の各反復が、この場合 2 番目, 3 番目, 4 番目である捕捉文字列を含む、数量化された Atom に含まれていた全ての捕捉された文字列をクリアするためである。 ステップ 1 の RepeatMatcher のクロージャ d は、一旦最小反復数が満たされたらそれ以上空文字列にマッチする Atom の展開を更に反復するために考えないことを宣言する。これは正規表現エンジンがパターンの無限ループに陥ることを防いでおり、次のような正規表現は /(a*)*/.exec("b") また若干複雑には次のようなものは /(a*)b\1+/.exec("baaaac") これらは次の配列を返す ["b", ""] Assertion 生成規則 Assertion ^ の評価は、内部 AssertionTester クロージャを返す。これは引数に State x を取り、次を実行する e を x の endIndex とする。 e が 0 ならば、 true を返す。 Multiline が false ならば、 false を返す。 文字 Input[e-1] が行終端文字 LF , CR , LS , PS のうちの一つならば、 true を返す。 false を返す。 生成規則 Assertion $ の評価は、内部 AssertionTester クロージャを返す。これは引数に State x を取り、次を実行する e を x の endIndex とする。 e が InputLength と等しいならば、 true を返す。 multiline が false ならば、 false を返す。 文字 Input[e] が行終端文字 LF , CR , LS , PS のうちの一つならば、 true を返す。 false を返す。 生成規則 Assertion \ b の評価は、内部 AssertionTester クロージャを返す。これは引数に State x を取り、次を実行する e を x の endIndex とする。 IsWordChar(e-1) を呼び出し、結果の boolean 値を a とする。 IsWordChar(e) を呼び出し、結果の boolean 値を b とする。 a が true かつ b が false ならば、 true を返す。 a が false かつ b が true ならば、 true を返す。 false を返す。 生成規則 Assertion \ B の評価は、内部 AssertionTester クロージャを返す。これは引数に State x を取り、次を実行する e を x の endIndex とする。 IsWordChar(e-1) を呼び出し、結果の boolean 値を a とする。 IsWordChar(e) を呼び出し、結果の boolean 値を b とする。 a が true かつ b が false ならば、 false を返す。 a が false かつ b が true ならば、 false を返す。 true を返す。 内部補助関数 IsWordChar は整数パラメータ e をとり、次を実行する e == -1 または e == InputLength ならば、 false を返す。 c を文字 Input[e] とする。 c が下表の 63 文字のうちの一つならば、 true を返す。 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 _ false を返す。 Quantifier 生成規則 Quantifier QuantifierPrefix は、次のように評価される QuantifierPrefix を評価し、 2 個の結果 整数 min と整数 (または ∞) max を取得する。 3 個の結果 min, max, true を返す。 生成規則 Quantifier QuantifierPrefix ? は、次のように評価される QuantifierPrefix を評価し、 2 個の結果 整数 min と整数 (または ∞) max を取得する。 3 個の結果 min, max, false を返す。 生成規則 QuantifierPrefix * の評価は、 2 個の結果 0 と ∞ を返す。 生成規則 QuantifierPrefix + の評価は、 2 個の結果 1 と ∞ を返す。 生成規則 QuantifierPrefix ? の評価は、 2 個の結果 0 と 1 を返す。 生成規則 QuantifierPrefix { DecimalDigits } は、次のように評価される i を DecimalDigits の数学値とする(セクション 7.8.3 参照)。 2 個の結果 i と i を返す。 生成規則 QuantifierPrefix { DecimalDigits , } は、次のように評価される i を DecimalDigits の数学値とする。 2 個の結果 i と ∞ を返す。 生成規則 QuantifierPrefix { DecimalDigits , DecimalDigits } は、次のように評価される i を 1 個目の DecimalDigits の数学値とする。 j を 2 個目の DecimalDigits の数学値とする。 2 個の結果 i と j を返す。 Atom 生成規則 Atom PatternCharacter は、次のように評価される ch を PatternCharacter で表される文字とする。 A を文字 ch を含む 1 要素 CharSet とする。 CharacterSetMatcher(A, false) を呼出し、結果の Matcher を返す。 生成規則 Atom . は、次のように評価される A を 4 個の行終端文字 LF , CR , LS , PS を除く全て文字の集合とする。 CharacterSetMatcher(A, false) を呼び出し、その結果の Matcher を返す。 生成規則 Atom \ AtomEscape の評価は、 AtomEscape を評価して Matcher を取得し、その Matcher を返す。 生成規則 Atom CharacterClass は、次のように評価される CharacterClass を評価し、 CharSet A と boolean 値 invert を取得する。 CharacterSetMatcher(A, invert) を呼び出し、その結果の Matcher を返す。 生成規則 Atom ( Disjunction ) は、次のように評価される Disjunction を評価し、 Matcher m を取得する。 parenIndex を、正規表現全体において、この生成規則展開の最初の左括弧の左側に発生する左捕捉括弧の数とする。これは、この生成規則の Atom に先行する Atom ( Disjunction ) 生成規則の展開総数に、この Atom を閉じている Atom ( Disjunction ) 生成規則の総数を加えたものである。 内部 Matcher クロージャを返す。このクロージャは 2 個の引数 State x and a Continuation c をとり、次のように振舞う 内部 Continuation クロージャ d を作成する。このクロージャは 1 個の引数 State y をとり、次のように振舞う cap を y の captures 内部配列の初期の複製 (fresh copy) とする。 xe を x の endIndex とする。 ye を y の endIndex とする。 s を、 Input の 位置 xe から ye の直前までの文字を持つ fresh string とする。 cap[parenIndex+1] を s に設定する。 z を State (ye, cap) とする。 c(z) を呼出し、その結果を返す。 m(x, d) を呼出し、その結果を返す。 生成規則 Atom ( ? Disjunction ) の評価は、 Disjunction を評価して Matcher を取得し、その Matcher を返す。 生成規則 Atom ( ? = Disjunction ) は、次のように評価される Disjunction を評価して Matcher m を取得する。 内部 Matcher クロージャを返す。そのクロージャは 2 個の引数 State x と Continuation c をとり、次のように振舞う d を、成功する MatchResult としてその State 引数を常に返す Continuation とする。 m(x, d) を呼出し、 r をその結果とする。 r が failure ならば、 failure を返す。 y を r の State とする。 cap を y の captures 内部配列とする。 xe を x の endIndex とする。 z を State (xe, cap) とする。 c(z) を呼出し、その結果を返す。 生成規則 Atom ( ? ! Disjunction ) は、次のように評価される Disjunction を評価して Matcher m を取得する。 内部 Matcher クロージャを返す。そのクロージャは 2 個の引数 State x と Continuation c をとり、次のように振舞う d を、成功する MatchResult としてその State 引数を常に返す Continuation とする。 m(x, d) を呼出し、 r をその結果とする。 r が failure でないならば、 failure を返す。 c(x) を呼出し、その結果を返す。 内部補助関数 CharacterSetMatcher は 2 個の引数 CharSet A と boolean フラグ invert をとり、次のように振舞う 内部 Matcher クロージャを返す。そのクロージャは 2 個の引数 State x と Continuation c をとり、次のように振舞う e を x の endIndex とする。 e == InputLength ならば、 failure を返す。 c を 文字 Input[e] とする。 cc を Canonicalize(c) の結果とする。 invert が true ならば、 ステップ 8 へ。 集合 A に、 Canonicalize(a) == cc であるような元が存在しないならば、 failure を返す。 ステップ 9 へ。 集合 A に、 Canonicalize(a) == cc であるような元が存在するならば、 failure を返す。 cap を x の captures 内部配列とする。 y を State (e+1, cap) とする。 c(y) を呼出し、その結果を返す。 内部補助関数 Canonicalize はパラメタに文字 ch をとり、次のように振舞う IgnoreCase が false ならば、 ch を返す。 u を ch を大文字に変換したものとする。これは文字列 ch に String.prototype.toUpperCase を呼出すのと同様のものである。 u が単一の文字により構成されるものでないならば、 ch を返す。 cu を u の文字とする。 ch のコードポイント値が 10 進数で 128 以上であり、かつ cu のコードポイント値が 10 進数で 128 未満ならば、 ch を返す。 cu を返す。 参考情報解説 ( Disjunction ) 形式の括弧は、 Disjunction パターンのグループ成分とともに、マッチ結果の保存を提示する。結果は後方参照 (\ に 0 以外の10進数が続くもの)、置換文字列内での参照に用いられ、また正規表現マッチ関数から配列の一部を返される。括弧の捕捉の振る舞いの抑制には、代わりに (? Disjunction ) 形式を用いる。 (?= Disjunction ) 形式は、 0 文字幅の肯定の先読みを指定する。成功するためには Disjunction 内部のパターンは現在位置においてマッチしなければならないが、後続のマッチングの前に現在位置は前進しない。 Disjunction が現在位置におけるマッチに何通りかある場合は、最初のものだけが検査される。他の正規表現演算子とは異なり、 (?= 形式内への後方参照は存在しない (この独特の振る舞いは Perl から継承される)。 Disjunction が捕捉括弧とその捕捉への後方参照を含む後続のパターンで構成されるとき、このことが重要になる。 例えば、 /(?=(a+))/.exec("baaabac") は、 1 個目の b の直後の空文字列にマッチし、それゆえ次の配列を返す ["", "aaa"] 先読みへ後方参照の不足の例として、次を考えてみる /(?=(a+))a*b\1/.exec("baaabac") この式が返すのは次であり ["aba", "a"] 次のようにはならない ["aaaba", "a"] (?= Disjunction ) 形式は、 0 文字幅の否定の先読みを指定する。成功するためには Disjunction 内部のパターンは現在位置においてマッチに失敗しなければならない。現在位置は後続のマッチングの前に前進しない。 Disjunction には捕捉括弧を含められるが、それらへの後方参照は Disjunction 自身内部からの場合ものみ意味を持つ。パターン内の他の場所からのこれらの捕捉括弧への後方参照は、パターンに否定の先読みが成功してはならないため、常に undefined を返す。例えば /(.*?)a(?!(a+)b\2c)\2(.*)/.exec("baaabaac") は、ある正の数 n 個の a, 1 個の b, 他の n 個の (1 個目の \2 で指定される) a, 1 個の c, が直後に続かないような 1 個の a を検索する。 2 個目の \2 は否定の先読みの外部であり、したがって undefined に対してマッチするので常に成功する。式全体は次の配列を返す ["baaabaac", "ba", undefined, "abaac"] 文字ケースを区別しないマッチでは、全ての文字は比較の直前に暗黙に大文字に変換される。しかし、大文字への変換が 1 個以上の文字に展開される場合("ß" (\u00DF) から "SS" に変換など)は、代わりに文字はそのまま残される。 ASCII 文字でなくても、大文字への変換がその文字を ASCII 文字にする場合、その文字は残される。これは /[a-z]/i のような ASCII 文字のマッチのみを意図した正規表現のマッチから、\u0131 \u017F のような Unicode 文字を遮る。なお、これらの変換が許可される場合、 /[^\W]/i は a, b, ..., h, にはマッチするが i や s にはマッチしない。 AtomEscape 生成規則 AtomEscape DecimalEscape は、次のように評価される DecimalEscape を評価して EscapeValue E を取得する。 E が文字でなければ、ステップ 6 へ。 ch を E の文字とする。 A を文字 ch を含む要素1個の CharSet とする。 CharacterSetMatcher(A, false) を呼出し、結果の Matcher を返す。 E は整数でなければならない。 n をその整数とする。 n=0 または n NCapturingParens ならば、例外 SyntaxError を投げる。 内部 Matcher クロージャを返す。このクロージャは 2 個の引数、 State x と Continuation c をとり、次のように振舞う cap を x の captures の内部配列とする。 s を cap[n] とする。 s が undefined ならば、 c(x) を呼出し、その結果を返す。 e を x の endIndex とする。 len を s の length とする。 f を e+len とする。 f InputLength ならば、 failure を返す。 Canonicalize(s[i]) が Canonicalize(Input [e+i]) と同じ文字でないような 0 以上 len 未満の整数 i が存在するならば、 failure を返す。 y を State (f, cap) とする。 c(y) を呼出し、その結果を返す。 生成規則 AtomEscape CharacterEscape は、次のように評価される CharacterEscape を評価し、文字 ch を取得する。 A を文字 ch を含む要素1個の CharSet とする。 CharacterSetMatcher(A, false) を呼出し、結果の Matcher を返す。 生成規則 AtomEscape CharacterClassEscape は、次のように評価される CharacterClassEscape を評価し、 CharSet A を取得する。 CharacterSetMatcher(A, false) を呼出し、結果の Matcher を返す。 参考情報解説 \ に 0 以外の10進数 n の続く形式のエスケープシーケンスは、捕捉括弧の n 番目の集合 (セクション 15.10.2.11) の結果にマッチする。正規表現中の捕捉括弧が n 個未満である場合はエラーである。正規表現が n 個以上の捕捉括弧を持つが n 番目が何も捕捉されず undefined である場合、その後方参照は常に成功する。 CharacterEscape 生成規則 CharacterEscape ControlEscape の評価は、下の表に従って文字を返す ControlEscapeUnicode ValueNameSymbol t\u0009horizontal tab HT n\u000Aline feed (new line) LF v\u000Bvertical tab VT f\u000Cform feed FF r\u000Dcarriage return CR 生成規則 CharacterEscape c ControlLetter は、次のように評価される ch を ControlLetter で表される文字とする。 i を ch のコードポイント値とする。 j を i を 32 で割った余りとする。 j を番号とする Unicode 文字を返す。 生成規則 CharacterEscape HexEscapeSequence の評価は、 HexEscapeSequence の文字値 (セクション 7.8.4) を評価して、結果の文字を返す。 生成規則 CharacterEscape UnicodeEscapeSequence の評価は、 UnicodeEscapeSequence の文字値 (セクション 7.8.4) を評価して、結果の文字を返す。 生成規則 CharacterEscape IdentityEscape の評価は、 IdentityEscape で表される文字を返す。 DecimalEscape 生成規則 DecimalEscape DecimalIntegerLiteral [lookahead ∉ DecimalDigit] は、次のように評価される。 i を DecimalIntegerLiteral の数学値とする。 i が 0 ならば、 NUL 文字 (Unicode 値 0000) を構成する EscapeValue を返す。 整数 i で構成する EscapeValue を返す。 "DecimalIntegerLiteral の数学値" の定義はセクション 7.8.3 である。 参考情報解説 最初の数字が0以外である10進数 n が \ に続く場合、そのエスケープシーケンスは後方参照として考える。正規表現全体の左捕捉括弧の総数よりも n が大きい場合はエラーである。 \0 は NUL 文字を表し、10進数字を後に続けることはできない。 CharacterClassEscape 生成規則 CharacterClassEscape d の評価は、0 から 9 までを含む文字の 10 個の要素集合を返す。 生成規則 CharacterClassEscape D の評価は、 CharacterClassEscape d が返す集合を除く全ての文字の集合を返す。 生成規則 CharacterClassEscape s の評価は、 WhiteSpace (セクション 7.2) または LineTerminator (セクション 7.3) 生成規則の右辺上の文字を含む文字集合を返す。 生成規則 CharacterClassEscape S の評価は、 CharacterClassEscape s が返す集合を除く全ての文字集合を返す。 生成規則 CharacterClassEscape w の評価は、 63 個の文字を含む文字の集合を返す a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 _ 生成規則 CharacterClassEscape W の評価は、 CharacterClassEscape w が返す集合を除く全ての文字集合を返す。 CharacterClass 生成規則 CharacterClass [ [lookahead ∉ {^}] ClassRanges ] の評価は、 ClassRanges を評価して CharSet を取得し、その CharSet とブーリアン値 false を返す。 生成規則 CharacterClass [ ^ ClassRanges ] の評価は、 ClassRanges を評価して CharSet を取得し、その CharSet とブーリアン値 true を返す。 ClassRanges 生成規則 ClassRanges [empty] の評価は、空の CharSet を返す。 生成規則 ClassRanges NonemptyClassRanges の評価は、 NonemptyClassRanges を評価して CharSet を取得し、その CharSet を返す。 NonemptyClassRanges 生成規則 NonemptyClassRanges ClassAtom の評価は、 ClassAtom を評価して CharSet を取得し、その CharSet を返す。 生成規則 NonemptyClassRanges ClassAtom NonemptyClassRangesNoDash は、次のように評価される ClassAtom を評価し、 CharSet A を取得する。 NonemptyClassRangesNoDash を評価し、 CharSet B を取得する。 CharSet A と B の和集合を返す。 生成規則 NonemptyClassRanges ClassAtom - ClassAtom ClassRanges は、次のように評価される 1 つ目の ClassAtom を評価し CharSet A を取得する。 2 つ目の ClassAtom を評価し CharSet B を取得する。 ClassRanges を評価し CharSet C を取得する。 CharacterRange(A, B) を呼出し、D を結果の CharSet とする。 CharSet D と C の和集合を返す。 内部補助関数 CharacterRange は、 2 個の CharSet パラメータ A と B をとり、次を実行する A が厳密な 1 個の文字を含まない、または B が厳密な 1 個の文字を含まないならば、例外 SyntaxError を投げる。 a を、 CharSet A 内の 1 個の文字とする。 b を、 CharSet B 内の 1 個の文字とする。 i を、文字 a のコードポイント値とする。 j を、文字 b のコードポイント値とする。 i j ならば、例外 SyntaxError を投げる。 i から j までの番号をもつ文字全てを含む集合を返す。 NonemptyClassRangesNoDash 生成規則 NonemptyClassRangesNoDash ClassAtom 評価は、 ClassAtom 評価で CharSet を取得し、その CharSet を返す。 生成規則 NonemptyClassRangesNoDash ClassAtomNoDash NonemptyClassRangesNoDash は、次のように評価される ClassAtomNoDash を評価し、 CharSet A を取得する。 NonemptyClassRangesNoDash を評価し、 CharSet B を取得する。 CharSets A と B の和集合を返す。 生成規則 NonemptyClassRangesNoDash ClassAtomNoDash - ClassAtom ClassRanges は、次のように評価される ClassAtomNoDash を評価し、 CharSet A を取得する。 ClassAtom を評価し、 CharSet B を取得する。 ClassRanges を評価し、 CharSet C を取得する。 CharacterRange(A, B) を呼出し、 D を結果の CharSet とする。 CharSet D と C の和集合を返す。 参考情報解説 ClassRanges は、単一の ClassAtom そして/または ダッシュで区切られた 2 個の ClassAtom の範囲に展開してよい。文字ケースについては、 ClassRanges は 1 つ目の ClassAtom と 2 つ目の ClassAtom までの間の全ての文字を含む。 ClassAtom が単一の文字を表さない (例えば、一方が \w) ならば、また 1 つ目の ClassAtom のコードポイント値が 2 つ目の ClassAtom のコードポイント値より大きいならば、エラーが発生する。 パターンが文字ケースを区別しないとしても、範囲の両端の文字ケースは、文字の範囲への所属判定において重要である。たとえば、パターン /[E-F]/i は文字 E, F, e, f にのみマッチするのに対して、パターン /[E-f]/i は大文字小文字含めた ASCII 文字だけでなく記号 [, \, ], ^, _, ` にもマッチする。 文字 - は文字通りに扱われうるか、範囲を示せるかである。 - が文字通りに扱われるのは、それが ClassRanges の最初または最後の文字である場合、範囲指定の先頭または末尾である場合、直後に範囲指定が続く場合である。 ClassAtom 生成規則 ClassAtom - の評価は、 1 個の文字 - で構成される CharSet を返す。 生成規則 ClassAtom ClassAtomNoDash の評価は、 ClassAtomNoDash 評価で CharSet を取得し、その CharSet を返す。 ClassAtomNoDash 生成規則 ClassAtomNoDash SourceCharacter but not one of \ ] - の評価は、 SourceCharacter で表される文字で構成される 1 要素の CharSet を返す。 生成規則 ClassAtomNoDash \ ClassEscape の評価は、 ClassEscape 評価で CharSet を取得し、その CharSet を返す。 ClassEscape 生成規則 ClassEscape DecimalEscape は、次のように評価される DecimalEscape を評価し、 EscapeValue E を取得する。 E が文字でなければ、 例外 SyntaxError を投げる。 ch を E の文字とする。 文字 ch で構成される、 1 要素の CharSet を返す。 生成規則 ClassEscape b は、 1 個の文字 BS (Unicode 値 0008) で構成される CharSetを返して評価される。 生成規則 ClassEscape CharacterEscape の評価は、 CharacterEscape 評価で文字を取得し、その文字で構成される 1 要素の CharSet を返す。 生成規則 ClassEscape CharacterClassEscape の評価は、 CharacterClassEscape 評価で CharSet を取得し、その CharSet を返す。 参考情報解説 ClassAtom は、 \b, \B, 後方参照を除く残りの正規表現で許される任意のエスケープシーケンスを使用できる。 CharacterClass 内部において、 \b は後退文字 (backspace character) を意味し、一方 \B と後方参照はエラーを発生させる。 ClassAtom 内部での後方参照の使用はエラーを引き起こす。 15.10.3 関数として呼出される RegExp コンストラクタ (The RegExp Constructor Called as a Function) RegExp(pattern, flags) pattern が [[Class]] プロパティが "RegExp" であるオブジェクト R で、かつ flags が undefined ならば、 R をそのまま返す。そうでなければ RegExp コンストラクタ (セクション 15.10.4.1) を呼出し、それに引数 pattern と flags を渡し、そのコンストラクタに構築されるオブジェクトを返す。 15.10.4 RegExp コンストラクタ (The RegExp Constructor) RegExp が new 式の一部として呼出されるとき、それはコンストラクタである それは、新たに生成されるオブジェクトを初期化する。 new RegExp(pattern, flags) pattern が [[Class]] プロパティが "RegExp" である オブジェクト R で、かつ flags が undefined ならば、 P を R の構築に用いる pattern とし、 F を R の構築に用いる flags とする。 pattern が [[Class]] プロパティが "RegExp" である オブジェクト R で、かつ flags が undefined でないならば、 例外 TypeError を投げる。 そうでなければ、 P を pattern が undefined ならば空文字列、そうでなければ ToString(pattern) とし、 F を flags が undefined ならば空文字列、そうでなければ ToString(flags) とする。 新規に構築されたオブジェクトの global プロパティは、 F が文字 "g" を含めば true, そうでなければ false である Boolean 値に設定される。 新規に構築されたオブジェクトの ignoreCase プロパティは、 F が文字 "i" を含めば true, そうでなければ false である Boolean 値に設定される。 新規に構築されたオブジェクトの multiline プロパティは、 F が文字 "m" を含めば true, そうでなければ false である Boolean 値に設定される。 F が "g", "i", "m" 以外の文字を含むならば、また一旦出現したものと同じものを含むならば、例外 SyntaxError を投げる。 P の文字が書式 Pattern を持たないならば、例外 SyntaxError を投げる。そうでなければ、新規に構築されたオブジェクトに Pattern の評価 ("compiling") により得られる [[Match]] プロパティを持たせる。 Pattern の評価が例外 SyntaxError を投げてもよいことに注意。 (Note pattern が StringLiteral ならば、 文字列が RegExp によって処理される前に、通常のエスケープシーケンスの変換が実行される。 RegExp によって認識されるエスケープシーケンスを pattern に含めなければならないならば、 StringLiteral の内容の形成時に削除されることを防ぐために、 StringLiteral 内の文字 "\" はエスケープされなければならない。) 新規に構築されたオブジェクトの source プロパティは、 P に基づくPattern の書式の実装依存の文字列値に設定される。 新規に構築されたオブジェクトの lastIndex プロパティは、 0 に設定される。 新規に構築されたオブジェクトの [[Prototype]] プロパティは、 RegExp.prototype の初期値であるオリジナルの RegExp プロトタイプオブジェクトに設定される。 新規に構築されたオブジェクトの [[Class]] プロパティは、 "RegExp" に設定される RegExp コンストラクタのプロパティ (Properties of the RegExp Constructor) RegExp コンストラクタのの内部 [[Prototype]] プロパティの値は、 Function プロトタイプオブジェクト (セクション 15.3.4) である。 内部プロパティと length プロパティ (値は 2) の他に、 RegExp コンストラクタは次のプロパティを持つ RegExp.prototype RegExp.prototype の初期値は RegExp プロトタイプオブジェクト (セクション 15.10.6) である。 このプロパティは属性 { DontEnum, DontDelete, ReadOnly } を持つべきである。 RegExp プロトタイプオブジェクトのプロパティ (Properties of the RegExp Prototype Object) RegExp プロトタイプオブジェクトの内部 [[Prototype]] プロパティの値は、 Object プロトタイプである。 RegExp プロトタイプオブジェクトの内部 [[Class]] プロパティの値は、 "Object" である。 RegExp プロトタイプオブジェクトは、独自の valueOf プロパティを持たない; しかしながら、 valueOf プロパティを Object プロトタイプオブジェクトから継承する。 RegExp プロトタイプオブジェクトのプロパティである関数の以下の説明において、フレーズ "この RegExp オブジェクト" は、関数呼出しの this 値であるオブジェクトを参照する; this 値 が内部 [[Class]] プロパティが "RegExp" のオブジェクトでない場合は、例外 TypeError が投げられる。 RegExp.prototype.constructor RegExp.prototype.constructor の初期値は、組込み RegExp コンストラクタである。 RegExp.prototype.exec(string) 正規表現に対して string の正規表現マッチを行い、マッチの結果を含む Array オブジェクト、また文字列にマッチしなかった場合は null を返す。 文字列 ToString(string) は、次のように正規表現パターンの発生を検索される S を ToString(string) の値とする。 length を S の長さとする。 lastIndex を lastIndex プロパティの値とする。 i を ToInteger(lastIndex) の値とする。 global プロパティが false ならば、 i = 0 とする。 I 0 または I length ならば、 lastIndex を 0 に設定し、 null を返す。 [[Match]] と呼出し、引数に S と i を与える。 [[Match]] が failure を返したならば、 ステップ 8 へ; そうでなければ、 r をその State 結果とし、 ステップ 10 へ。 i = i+1 とする。 ステップ 6 へ。 e を r の endIndex 値とする。 global プロパティが true ならば、 lastIndex を e に設定する。 n を r の captures 配列の長さとする。 (これは、セクション 15.10.2.1 の NCapturingParens と同じ値である。) 次のプロパティを持つ新しい配列を返す * index プロパティは、完全な文字列 S 内でマッチした部分文字列の位置に設定される。 * input プロパティは、 S に設定される。 * length プロパティは、 n + 1 に設定される。 * 0 プロパティは、マッチした部分文字列 (すなわち オフセット i からオフセット e の前までの間のS の成分) に設定される。 * I 0 かつ I ≤ n であるような整数 i のそれぞれについて、 ToString(i) を名前とするプロパティに r の captures 配列の i 番目の要素を設定する。 RegExp.prototype.test(string) 式 RegExp.prototype.exec(string) != null と同様である。 RegExp.prototype.toString() src を現在の正規表現を表す Pattern の書式の文字列とする。 src は、 source プロパティまた RegExp コンストラクタに供給されるソースコードと同一であってもなくてもよい; ただ、 src が現在の正規表現の flags を伴って RegExp コンストラクタに供給されたならば、結果の正規表現は、現在の正規表現と同様に振るまわなければならない。 toString は、文字列 "/", src, "/" の連結で形成される文字列を返す; global プロパティが true ならば "g"、 ignoreCase プロパティが true ならば "i"、 multiline プロパティが true ならば "m" を、連結する文字列に追加する。 NOTE 実装は、 src 内の特殊文字をエスケープするために、 RegExp コンストラクタへ渡されるソースと異なることを許可されている src の利用を選択してよい。例えば、 new RegExp("/") から得られる正規表現において、 src は、数ある可能性の中から、 "/" または "\/" でありえる。後者は、書式 RegularExpressionLiteral を持つ toString 呼出しの完全な結果 ("/\//") を許可する。 RegExp インスタンスのプロパティ (Properties of RegExp Instances) RegExp インスタンスは、上記に指定されるその [[Prototype]] オブジェクトからプロパティを継承し、また次のプロパティを持つ。 source source プロパティの値は、 現在の正規表現をあらわす Pattern の書式の文字列値である。このプロパティは、属性 { DontDelete, ReadOnly, DontEnum } を持つべきである。 global global プロパティの値は、 flags が文字 "g" を含むかどうかを示す Boolean 値である。このプロパティは、属性 { DontDelete, ReadOnly, DontEnum } を持つべきである。 ignoreCase ignoreCase プロパティの値は、 flags が文字 "i" を含むかどうかを示す Boolean 値である。このプロパティは、属性 { DontDelete, ReadOnly, DontEnum } を持つべきである。 multiline multiline プロパティの値は、 flags が文字 "m" を含むかどうかを示す Boolean 値である。このプロパティは、属性 { DontDelete, ReadOnly, DontEnum } を持つべきである。 lastIndex lastIndex プロパティの値は、文字列の次のマッチを開始する位置を特定する整数である。このプロパティは、属性 { DontDelete, DontEnum } を持つべきである。