プログラマ , 特に web 先端開発の友人たち , 正規表現を使 用 することが多い .
このツールは,作成した正規表現が正しいかどうかを迅速にテストするのに役立ちます .
テストするテキストと正規表現を入力 , クリック “ テストマッチング ” ボタンをクリックすると,テキストに一致するテキストが得られます .
クリックすることもできます “ 置換 ” 不要なコンテンツをフィルタリング .
他にも多くの一般的な正規表現があり,使いやすい .
メタキャラクタ | 説明 |
---|---|
\ | 次 の文字をマーカーする , または逆参照 , または8進変換子 . 例 えば ,“\\n” マッチング \n.“\n” 改行の一致 . シーケンス “\\” マッチング “\” そして “\(” 規則一致 “(”. すなわち,複数のプログラミング言語に共通する “ エスケープキャラクタ ” の概念 . |
^ | 入力ワードの行頭を合わせる . 設定した場合 RegExp オブジェクトの Multiline 属性#ゾクセイ# #ゾクセイ# #ゾクセイ# #ゾクセイ# ,^ 一致する “\n” または “\r” 次の ビット 置 . |
$ | 入力行末と一致 . 設定した場合 RegExp オブジェクトの Multiline属性,$ 一致する “\n” または “\r” 前の場所 . |
* | 前のサブ式と任意の回数一致 . 例えば ,zo* エネルギーマッチング “z”, マッチングもできます “zo” および “zoo”.* と等しい {0,}. |
+ | 前のサブ式と1回または複数回一致 ( 以上 1次). 例えば ,“zo+” エネルギーマッチング “zo” および “zoo”, でも一致しない “z”.+ と等しい {1,}. |
? | 前のサブ式に0回または1回一致 . 例えば ,“do(es)?” 一致可能 “do” または “does”.? と等しい {0,1}. |
{n} | n は負ではない整数です . 一致している n次. 例えば ,“o{2}” 一致しません “Bob” の “o”, でもマッチングできる “food” の2つ o. |
{n,} | n は負ではない整数です . 少なくとも一致 n次. 例えば ,“o{2,}” 一致しません “Bob” の “o”, でもマッチングできる “foooood” のすべて o.“o{1,}” と等しい “o+”.“o{0,}” に等しい “o*”. |
{n,m} | m と n いずれも非負の整数 , ここで n<=m. 最小一致 n セカンダリおよび最大一致 m次. 例えば ,“o{1,3}” 一致する “fooooood” の最初の3つ o グループ , 後ろの3つ o グループ .“o{0,1}” と等しい “o?”. コンマと2つの数の間にスペースがないことに に 注 意 してください . |
? | 文字が他の制限文字に続く場合 (*,+,?{n},{n,},{n,m}) 背面時 , マッチングパターンは貪欲ではない . 非貪欲モードは,検索された文字列にできるだけ少なく一致します , デフォルトの貪欲モードは,検索された文字列にできるだけ多く一致します . 例えば , 文字列の場合 “oooo”,“o+” できるだけ多くのマッチング “o”, 結果を得る [“oooo”], そして “o+?” できるだけ少なくマッチングします “o”, 結果を得る ['o', 'o', 'o', 'o'] |
. 点 | 一致除算 “\n” と "\r" 以外の任意の文字 . 含めるには “\n” と "\r" を含む任意の文字 , イメージを使用してください “[\s\S]” のパターン . |
(pattern) | マッチング pattern このマッチングを取得する . 取得されたマッチングは,生成された Matches しゅうごう して得る , にある VBScript で使用する SubMatches集合, にある JScript で使用する $0…$9属性. 括弧文字と一致させるには , 使用してください “\(” または “\)”. |
(?:pattern) | 非取得照合 , マッチング pattern 一致する結果は得られませんでした , 後で使用するためのストレージを使用しない . これは文字または文字を使用しています “(|)” 1つのパターンの各部分を組み合わせるときに便利です . 例えば “industr(?:y|ies)” 1つの割合です “industry|industries” より簡略な式 . |
(?=pattern) | 非取得照合 , フォワード肯定事前調査 , 任意の照合 pattern の文字列の先頭で検索文字列と一致します , このマッチングは後で使用するために取得する必要はありません . 例えば ,“Windows(?=95|98|NT|2000)” エネルギーマッチング “Windows2000” の “Windows”, でも一致しない “Windows3.1” の “Windows”. 事前検索に文字を消費しない , つまり , 一致が発生した後 , 最後の一致の直後に次の一致の検索を開始 , 事前に検索された文字が含まれてからではなく . |
(?!pattern) | 非取得照合 , 順方向否定事前調査 , 不一致の場合 pattern の文字列の先頭で検索文字列と一致します , このマッチングは後で使用するために取得する必要はありません . 例えば “Windows(?!95|98|NT|2000)” エネルギーマッチング “Windows3.1” の “Windows”, でも一致しない “Windows2000” の “Windows”. |
(?<=pattern) | 非取得照合 , リバース肯定事前調査 , 順方向肯定事前調査と類似 , ただ方向が逆 . 例えば ,“(?<=95|98|NT|2000)Windows” エネルギーマッチング “2000Windows” の “Windows”, でも一致しない “3.1Windows” の “Windows”. “(?<=95|98|NT|2000)Windows” 現在 python3.6 中 re モジュールテストでエラーが発生しました ,用“|” 接続文字列の長さは同じでなければなりません , ここ “95|98|NT” の長さはすべて 2,“2000” の長さは 4, 会報ミス . |
(?<!patte_n) | 非取得照合 , リバース否定事前調査 , 順方向否定事前調査と類似 , ただ方向が逆 . 例えば “(?<!95|98|NT|2000)Windows” エネルギーマッチング “3.1Windows” の “Windows”, でも一致しない “2000Windows” の “Windows”. ここは正しくない , 問題がある ここで使用するか,またはいずれかを超えることはできません. 2位, のように “(?<!95|98|NT|20)Windows 正しい ,“(?<!95|980|NT|20)Windows エラー , 単独で使用する場合は無制限 , のように (?<!2000)Windows 正しい一致 . 同上 , ここにある python3.6中re モジュール内の文字列の長さを一致させるには , 必ずしも 2, たとえば “(?<!1995|1998|NTNT|2000)Windows” でもいいです . |
x|y | マッチング x または y. 例えば ,“z|food” エネルギーマッチング “z” または “food”( ここは慎重に ).“[zf]ood” 規則一致 “zood” または “food”. |
[xyz] | キャラクタコレクション . 含まれる任意の文字に一致 . 例えば ,“[abc]” 一致可能 “plain” の “a”. |
[^xyz] | 負の文字集合 . 含まれていない文字を一致させる . 例えば ,“[^abc]” 一致可能 “plain” の “plin” 任意の文字 . |
[a-z] | 文字範囲 . 指定した範囲内の任意の文字を一致させる . 例えば ,“[a-z]” 一致可能 “a” まで “z” 範囲内の任意の小文字 . に に注意 : ハイフンのみが文字グループ内にある場合 , そして2文字の間に現れたとき , 文字の範囲を表すことができます ; 文字グループの先頭を出す場合 , ハイフン自体のみを表すことができます . |
[^a-z] | 負の文字範囲 . 指定された範囲外の任意の文字に一致 . 例えば ,“[^a-z]” 不在に一致することができます “a” まで “z” 範囲内の任意の文字 . |
\b | 単語の境界を一致させる , つまり単語とスペースの間の位置を指す ( つまり正規表現の “ マッチング ” 2つの概念があります , 1つは一致文字です , 1つはマッチング位置 , ここにある \b 位置に合った ). 例えば ,“er\b” 一致可能 “never” の “er”, でも一致しない “verb” の “er”;“\b1_” 一致可能 “1_23” の “1_”, でも一致しない “21_3” の “1_”. |
\B | 単語以外の境界を一致させる .“er\B” エネルギーマッチング “verb” の “er”, でも一致しない “never” の “er”. |
\cx | 一致する x 指定された制御文字 . 例えば ,\cM 一致 Control-M またはリターンキャラクタ .x の値は A-Z または a-z その1 . その他 , この c 原義的な “c” 文字 . |
\d | 数値#スウスウ# を合わせる . と等しい [0-9].grep 追加する -P,perl 正規サポート |
\D | 数字以外の文字と一致 . と等しい [^0-9].grep 追加する -P,perl 正規サポート |
\f | 改ページ文字と一致 . と等しい \x0c と \cL. |
\n | 改行に一致 . と等しい \x0a と \cJ. |
\r | エコー文字と一致 . と等しい \x0d と \cM. |
\s | 非 表示 文字と一致 , スペースを含む , タブ , 改ページなど . と等しい [ \f\n\r\t\v]. |
\S | 任意の表示文字と一致 . と等しい [^ \f\n\r\t\v]. |
\t | タブと一致 . と等しい \x09 と \cI. |
\v | 垂直タブに一致 . と等しい \x0b と \cK. |
\w | アンダースコアを含む単語文字を一致させる . 類似しているが同等ではない “[A-Za-z0-9_]”, ここにある " 単語 " 文字の使用 Unicode 文字セット . |
\W | 単語以外の文字と一致 . と等しい “[^A-Za-z0-9_]”. |
\xn | マッチング n, ここで n 16進エスケープ値 . 16進エスケープ値は,決定された2つの数値長でなければなりません . 例えば ,“\x41” マッチング “A”.“\x041” に等しい “\x04&1”. 正規表現で使用可能 ASCII エンコード . |
\num | マッチング num, ここで num は正の整数です . 一致する参照の取得 . 例えば ,“(.)\1” 2つの連続した同じ文字に一致 . |
\n | 8進エスケープ値または逆参照を識別する . もし \n 前に少なくとも n 個の取得されたサブ式 , なら n 後方参照 . その他 , もし n は8進数 (0-7), なら n 8進変換値 . |
\nm | 8進エスケープ値または逆参照を識別する . もし \nm 少なくとも nm 個の取得サブ式 , なら nm 後方参照 . もし \nm 少なくとも n 個の取得 , なら n 後付け文字 m の後方参照 . もし前の条件が満たされていなければ , 若し n と m すべて8進数 (0-7), なら \nm 一致する8進エスケープ値 nm. |
\nml | もし n は8進数 (0-7), かつ m と l すべて8進数 (0-7), 8進エスケープ値に一致する nml. |
\un | マッチング n, ここで n は4つの16進数で表されています Unicode 文字 . 例えば ,\u00A9 著作権記号と一致 (©). |
\p{P} | 小文字 p はい property という意味 ,表示 Unicode 属性, 使用#シヨウ# Unicode 正規表現の接頭辞 . 中括弧内の “P”表示Unicode 文字セットの7文字属性の1つ : 句読点文字 . その他の6つの属性 : L: 文字 ; M: マークアップ記号 ( 通常は単独では発生しません ); Z: 区切り記号 ( スペースなど , 改行など ); S: 記号 ( 例えば数学記号 , 通貨記号等 ); N:数字( 例えばアラビア数字 , ローマ数字など ); C: その他の文字 . *注: この構文は一部の言語ではサポートされていません ,例:javascript. |
\< \> | 一致語 (word) の始まり (\<) と終了 (\>). 例えば正規表現 \<the\> 文字列を一致させることができます "for the wise" の "the", しかし文字列を一致させることはできません "otherwise" の "the".注意: このメタ文字はすべてのソフトウェアでサポートされているわけではありません . |
( ) | この ( と ) 間の式を次のように定義します. “ グループ化 ”(group), この式に一致する文字を一時領域に保存します ( 正規表現の中で最大保存可能 9 個 ), これらは \1 まで \9 の記号を参照 . |
| | 2つの一致条件を論理化する “ または ”(Or) えんざん . 例えば正規表現 (him|her) マッチング "it belongs to him" と "it belongs to her", でもマッチングできない "it belongs to them.".注意: このメタ文字はすべてのソフトウェアでサポートされているわけではありません . |