2016-08-04 15 views
0

"{code}"という特殊タグがあります。 jflexを使ってこれらのタグのうちの2つの間にテキストを入力する必要があります。それjflexを使用して特殊タグ間のテキストを取得する方法

CODE_BLOCK= "{code}"(.*?)"{code}" 

問題は、それは常に最初の最後のタグの間のテキストを返すことであるため

私は、次の正規表現を使用しようとしています。 ?のように見えますが、まったく動作しません。私はいくつかの異なるオプションがここにあります

{code}abs{code}{code}{code} 

答えて

0

からのみ

{code}abs{code} 

を取得する能力を持っている必要があります。

ブレースブラケット({)文字がテキストで表示されない場合正規表現として{code}([^{]+){code}と一緒に行くことができます。

もしそれがエスケープされていれば、{code}((?:[^{]|\\{)+){code}のようにすることができます。 \\を適切なエスケープ文字に置き換えます(この場合は、通常のリテラルのバックスラッシュ文字を使用しています)。

タグの間に現れ、エスケープされていない場合、正規表現は本当にこのようなことが行われていないので、適切なパーサーを書くことが望ましいかもしれません。

関連する問題