中心に、web技術について書いています2008-07-29JavaScriptの正規表現関連メソッドjavascriptサイ本11章をざっくり読みました。流し読んだ感じでは、JavaScriptの正規表現はRubyやPerlとほぼ同じ仕様ですね。他言語との細かい違いはまた今度調べるとして、とりあえずJavaScriptの正規表現関連メソッドについてまとめたので載せときます。正規表現はRegExpオブジェクトによって表現されます。作り方には、コンストラクタを使う方法と、正規表現リテラルを使う方法があります。リテラルStringオブジェクトのメソッドsearch()マッチした場合、先頭の文字位置を示す番号を返します。マッチしなかったら-1を返します。引数が正規表現でない場合、引数はRegExpコンストラクタに渡されます。replace()マッチしたものを第二引数で指定した文字列に置き換えます。第二引数に関数を指定して、置換文字列を動的に変更できるようです。word.substring(1);});match()マッチした場合、マッチした結果を格納した配列を返します。RegExpオブジェクトにgフラグがあった場合は、マッチした全ての配列を返します。gフラグがなかった場合は、配列の0番目の要素に一致した文字列を格納し、次の要素からは括弧でくくられた部分の文字列を格納します。split()指定された引数を区切り文字として使用し、文字列を分割します。RegExpオブジェクトのメソッドexec()マッチした場合は、配列を返します。配列は、matchでgフラグがなかったときの形式と同じです。RegExpオブジェクトにgフラグを設定した場合は、一致した文字列の直後の文字位置をlastIndexプロパティに格納します*1。この時にexec()メソッドを呼び出すと、lastIndexプロパティが示す文字位置から検索を開始します。exec()メソッドでマッチした全ての配列を返すようにするにはループを使って複数回exec()メソッドを実行してあげる必要があります。test()マッチした場合にtrueを返す以外はexec()メソッドと同じです。RegExpオブジェクトのプロパティsourceプロパティ正規表現の本体である文字列が格納されているプロパティ。globalプロパティgフラグが設定されているかどうかが格納されているプロパティ。ignoreCaseプロパティiフラグが設定されているかどうかが格納されているプロパティ。multilineプロパティmフラグが設定されているかどうかが格納されているプロパティ。lastIndexプロパティexec()メソッドとtest()メソッドの際に使用される、次に検索を開始する文字位置を格納するプロパティ。globalプロパティがtrueの時のみ有効。おもしろWEBサービス開発日記...2008-06-30サイ本15章まとめ14章に引き続き15章途中までの自分用まとめをメモっておきます...2008-06-25サイ本14章まとめwindowオブジェクトについて書かれている章です。方法としては下記の三つがあるようです。4参加グループインターネット引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。