私は一致したいLaTeX文書を持っています。そして、次のものにマッチするRegExマッチが必要です:PHPで正規表現を使用してネストされた中カッコをどのように一致させるのですか?
\ # the backslash in the beginning
[a-zA-Z]+ #a word
(\{.+\})* # any amount of {something}
しかし、彼女はキャッチです。
最後の行では、1.それは貪欲である必要があり、2.一致する番号が{}
である必要があります。
意味私は文字列を持っている場合\test{something\somthing{9}}
それは全体に一致します。その順番にする必要があります({}
)。それは次のように一致しないように:\ TeXの{}のためのLaTeX {} \
される文書作成システムを
のLaTeX {} \だけ
と
\ TeX {}
ヘルプ誰ですか?たぶん誰かがマッチングの良いアイデアを持っているのでしょうか?正規表現を使用しないでください。
ので、正規表現ではありません最善の選択。それは言われている、あなたは*できます*ほとんどの正規表現エンジンは、最近は定期的ではありませんが、それはまだ良い考えではありません。 –
もし私が他の選択肢があれば、私はそれに向かいました。しかし私は、私が使うことができる他のことは知らない。ベターのアイデアはありますか?そうでなければ、私はRegExの幅に詰まっているようです。 – Knarf
これは '{'と '}'(これは正規表現でできます)だけでなく '{}'が拒否されていることを確認したいのです( '{'と'}'!)、 '{'と '}'がコメント行に現れたときにそれらを破棄したいと思うでしょう。つまり、正規表現はこれには適していません。 –