2017-06-09 31 views
0

a-zの後に特定の文字が続く最初の3文字を照合しようとしています。文字列の後に一致する正規表現

私はregexオンラインテスターを使用しています。

^[a-z]{0,3}$[z] 

私のテスト文字列がabczです: 私はこれが(成功せずに)動作するはずと思いました。

私が間違っていることを教えてください。

+0

あなたのregexオンラインテスターは、あなたに正規表現の英語のような説明を与える必要があります。 **本当に慎重に**読んでください。 –

答えて

1

あなたは文字列全体abczを一致させる必要がある場合は、

/^[a-z]{0,3}z$/ 
      ^^ 

または使用 - を3つの文字が強制されている場合:

/^[a-z]{3}z$/ 

regex demoを参照してください。あなたのパターンで

$[z]は、正規表現は常にを失敗します文字列のアンカー、終了後zを一致させようとします。

詳細

  • ^ - (、3つの文字を必要とするように0,を除く)3つの小文字のASCII文字に0
  • z - - 文字列
  • [a-z]{0,3}を開始z
  • $ - 文字列のアンカーの終わり。
+1

良い説明をいただきありがとうございます。 :) – pdunker

+0

場合によっては、時間があれば[制限数量の制限](http://www.regular-expressions.info/repeat.html#limit)と[anchors](http://www.regular -expressions.info/anchors.html)をregular-expressions.infoで入手してください。また、文字クラスに1つのアトムを置くことはお勧めできません。 '[z]'は 'z'と同じです。多くの場合、文字クラスとグループ化構文を混同しますので、可能な限りパターンを細かく保つのが最善です。 –

-1

あなたは

/^[a-z]{0,3}[z]$/m 

You can see a working version here

あなたは離れて[]周りzで行うことができます

識別子早すぎる行の 終わりを持っています。角括弧は、一致する範囲または文字のリストを定義するために使用されます。

/^[a-z]{0,3}z$/m 
+0

@torazaburo何もない - それは '[]'の有無にかかわらず有効な作業式です。 – Tom

関連する問題