正規表現の理解に役立つ

正規表現の理解に役立つ

私はこの正規表現を持っています \\..\\{3\\}$

この式が文字列とどのように一致するかを知りたいです。私の考えは、行末の8文字と一致するということです。この表現はそういう意味ですか?

それでは、次のような文字列が一致すると思います。

rs.efg$tu

答え1

「一般的な」正規表現を想定すると(残念ながら、ツールごとにわずかに異なる正規表現を処理し、GNUとPOSIXのバージョンも異なるため、バージョンドリフトがあります...)これは[Unicode Required - Art Mark Required..]として解析されます。

\.  . \{3\} $
 ▲  ▲   ▲   ▲
 │  │   │   │
 │  │   │   └─ End of line
 │  │   └─ Preceding exactly 3 times (the '\' makes '{' special...)
 │  └─ Any character (except '\n')
 └─ A literal '.' ('.' is special, '\' makes it un-special)

つまり、行が終わる前にドットとランダムな文字が3つあることを意味します。

*or(最後の文字がサポートされている場合)のような構成は、最後の文字または最後の括弧\{3\}(おそらく、\( ... \)正規表現方言に応じて変わります)で機能します。マニュアルを確認してください使用している正確なツールの場合

関連情報