-1
式の最後にグループを見つける:正規表現 - それはラインの端部に配置されている場合は一致しない行
(\b%%\b([^%])*\b%%\b)
テスト文字列:結果として
djwk%%text%%doqdojd%%text.text.text%%kjwldjdflkljwfe%%body.text.text%%
:
djwk_doqdojd_kjwldjdflkljwfe%%body.text.text%%
最後のものは見逃されています(テスト済みvia)
私は行方不明ですか?
(\b%%\b([^%])*\b%%)
説明:
最後の「\ bのちょうどフォロー正規表現を試してみてください、そして、
djwk_doqdojd_kjwldjdflkljwfe_
:
奇妙な...それは動作します...しかし、なぜこれが起こりますか? \ bはeolを検出しませんか? – DreadAngel
実際、そうではありません... "\ b"は[単語境界]に一致します(http://www.regular-expressions.info/wordboundaries.html)。だから、ダブル "%"の後に1つの成功マッチがなければならないと指定したとき、それは渡された文字列の最後に一致するものではありませんでした。私は[regex101](https://regex101.com)を見て、あなたの正規表現の各部分を理解することをお勧めします。乾杯 –