正規表現 JAVA Script 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(/(*)~/ (パターンマッチ 10個まで))
("|" パイポマーク(or検索条件))
 
46行: 46行:
  
 
===="?" クェスチョンマーク、クェスションマーク(直前の文字0文字か1文字)====
 
===="?" クェスチョンマーク、クェスションマーク(直前の文字0文字か1文字)====
::"?" クェスチョンマークは直前の文字0文字か1文字に対応
+
::"?" クェスチョンマーク(イクスクラメーションマーク)は直前の文字0文字か1文字に対応
 
::*ex10:'''"超超超超文字列正規表現検索Regular Expression".match(/超?文字列/)'''
 
::*ex10:'''"超超超超文字列正規表現検索Regular Expression".match(/超?文字列/)'''
 
::結果:超文字列 ※3番目の文字からのモノに一致(4文字目)し、0番目から2番目の繰り返しは無視されます。超がなくても文字列というキーワードだけでも一致は起こります。次の例に示すような感じです。
 
::結果:超文字列 ※3番目の文字からのモノに一致(4文字目)し、0番目から2番目の繰り返しは無視されます。超がなくても文字列というキーワードだけでも一致は起こります。次の例に示すような感じです。
 
::*ex11:'''"文字列正規表現検索Regular Expression".match(/超?文字列/)'''
 
::*ex11:'''"文字列正規表現検索Regular Expression".match(/超?文字列/)'''
 
::結果:文字列 ※0番目の文字からのモノに一致し、超がなくても文字列というキーワードだけでも一致は起こります。
 
::結果:文字列 ※0番目の文字からのモノに一致し、超がなくても文字列というキーワードだけでも一致は起こります。
 
  
 
===="*?","+?","??", */+/?直後のクェスションマーク(最小マッチング)====
 
===="*?","+?","??", */+/?直後のクェスションマーク(最小マッチング)====
79行: 78行:
  
 
===="[^ ~ ]" 大カッコ、ブラケットマーク+ハットマーク(羅列検索条件否定)====
 
===="[^ ~ ]" 大カッコ、ブラケットマーク+ハットマーク(羅列検索条件否定)====
::"[^ ~ ]" カッコに囲まれた文字以外
+
::"[^ ~ ]" カッコに囲まれた文字以外 ^はキャレットとも言います。
 
::例えば、A~Zあるいは、文,字,列,正,規,表,現,検,索,のいずれかの文字以外はあるか?という検索は
 
::例えば、A~Zあるいは、文,字,列,正,規,表,現,検,索,のいずれかの文字以外はあるか?という検索は
 
::*ex15:'''"文字列正規表現検索Regular Expression".match(/[^A-Z文字列正規表現検索]/)'''
 
::*ex15:'''"文字列正規表現検索Regular Expression".match(/[^A-Z文字列正規表現検索]/)'''
88行: 87行:
 
::[々〇〻\u3400-\u9FFF\uF900-\uFAFF]→々,〇,〻,\u3400-\u9FFF,\uF900-\uFAFF \uXXXXはユニコード文字番号16進数指定です。
 
::[々〇〻\u3400-\u9FFF\uF900-\uFAFF]→々,〇,〻,\u3400-\u9FFF,\uF900-\uFAFF \uXXXXはユニコード文字番号16進数指定です。
 
::[\uD840-\uD87F][\uDC00-\uDFFF]→ユニコードのサロゲートペアと呼ばれる範囲の4バイト文字範囲です。
 
::[\uD840-\uD87F][\uDC00-\uDFFF]→ユニコードのサロゲートペアと呼ばれる範囲の4バイト文字範囲です。
::説明の意味が分からない人はユニコードの記事で確認してみて下さい。
+
::説明の意味が分からない人は[[Unicode|ユニコード]]の記事で確認してみて下さい。
 
+
  
 
===="|" パイポマーク(or検索条件)====
 
===="|" パイポマーク(or検索条件)====
::"|" パイポマークは、記述したうちのどれか?という意味になります。既に一つ前のややこしい議論の結果として使ってしまっています。前述のように文字コード範囲を複数記述する方法としても使えますし、検索文字列を複数記述する手法として"/ ~ /"の中で使えます。
+
::"|" パイポ(パイプ)マークは、記述したうちのどれか?という意味になります。既に一つ前のややこしい議論の結果として使ってしまっています。前述のように文字コード範囲を複数記述する方法としても使えますし、検索文字列を複数記述する手法として"/ ~ /"の中で使えます。
 
::ex17.'''"文字列正規表現検索Regular Expression".match(/Regular|Expression/)'''
 
::ex17.'''"文字列正規表現検索Regular Expression".match(/Regular|Expression/)'''
 
::結果:Regular ※9番目の文字のモノです。RegularかExpressionのどちらかという意味になります。先に登場するRegularに一致します。
 
::結果:Regular ※9番目の文字のモノです。RegularかExpressionのどちらかという意味になります。先に登場するRegularに一致します。
 
  
 
===="{}" 中カッコ、ブレースマーク(直前の文字の繰り返し数指定)====
 
===="{}" 中カッコ、ブレースマーク(直前の文字の繰り返し数指定)====
199行: 196行:
  
 
====/(*)~/ (パターンマッチ 10個まで)====
 
====/(*)~/ (パターンマッチ 10個まで)====
::/ ~ / のように"/"で囲まれた部分に書いた文字が検索文字になりますが、/(*)~/ のようにカッコを利用すると、()に相当する部分をパターンとして記憶するような動作が起こります。具体的には例を見た方がわかりやすいと思います。
+
::/ ~ / のように"/"で囲まれた部分に書いた文字が検索文字になりますが、/(*)~/ のようにカッコ(パーレンスィスとかパーレンとも言います。)を利用すると、()に相当する部分をパターンとして記憶するような動作が起こります。具体的には例を見た方がわかりやすいと思います。
 
::*ex30:'''"超超超超超文字列正規表現検索Regular Expression1,Regular Expression2".match(/(*)文字列(*)/)'''
 
::*ex30:'''"超超超超超文字列正規表現検索Regular Expression1,Regular Expression2".match(/(*)文字列(*)/)'''
 
::結果:超超超超文字列 ※0番目の文字でのモノと33番目の文字でのモノと一致し、検索の一致があったという結果になります。これだけだと通常の検索と何も変わらないように思えますが、$1という変数のような記号に対して最初の()内で一致したパターンの文字が格納されます。
 
::結果:超超超超文字列 ※0番目の文字でのモノと33番目の文字でのモノと一致し、検索の一致があったという結果になります。これだけだと通常の検索と何も変わらないように思えますが、$1という変数のような記号に対して最初の()内で一致したパターンの文字が格納されます。

2018年9月16日 (日) 00:00時点における最新版



個人用ツール
名前空間

変種
操作
案内
ツールボックス