0

次のことを行う正規表現を作成しようとしています: - 少なくとも 1 つを探し、=これら= を 1) 行末、または 2) ドット.

正規表現:

[=]+?[=]+.*?[.$]+

テスト文字列:

b == 123 //does not match, but which should as it is end of line!
b == 123. //does match "== 123.", which is OK
b == 123.abc //does match "== 123.", which is OK

ここで endofline$アンカーに欠けているものは何ですか?

4

1 に答える 1

2

[.$]ドットまたはドル記号で構成される文字クラスを意味します。正規表現要素間の代替が必要な場合は、使用する必要があります|(\.|$)

また、遅延マッチングの代わりに負の文字クラス を使用することもできます:[^…] …*?

([^=]+)=+([^.]+)(?:\.|$)
于 2013-04-26T10:37:20.007 に答える