0

私は現在この正規表現を持っています(複数行とドットオールフラグ付き):

^@@:([a-zA-Z0-9_-]*)\s*^(.*?)^@@

これに一致します:

@@:variable

some nice MarkDown content blah blah

@@

宣言がファイル(文字列)の最後である場合は、終了@@タグを省略できるようにしたいと思います。これは、多くのファイルに宣言が1つしかないため、それを閉じるという考えは不要のように思われるためです。私はこの正規表現を試しました:

^@@:([a-zA-Z0-9_-]*)\s*^(.*?)^(@@|\A)

しかし、それはもはやそれとの終了タグとさえ一致しません。

よろしくお願いします。

4

1 に答える 1

0

私は今それを持っています:

2つの間違い:

カレットは最後のグループの最初の正規表現の一部である必要があり、\ Aは文字列の終わりではなく開始に一致するため、\Aではなく\Zが必要でした。

^@@:([a-zA-Z0-9_-]*)\s*^(.*?)(^@@|\Z)
于 2012-06-07T15:25:18.707 に答える