我有特殊标签为" {code}"。我需要使用jflex在其中两个标签之间获取一些文本。
我正在尝试使用以下正则表达式
CODE_BLOCK= "{code}"(.*?)"{code}"
问题是它总是只在最后一个标签之间返回文本。看起来?
根本不起作用。我需要有能力只获得
{code}abs{code}
这
{code}abs{code}{code}{code}
答案 0 :(得分:0)
这里有几个不同的选择:
如果括号括号({
)字符没有出现在您的文字中,则可以使用{code}([^{]+){code}
作为正则表达式。
如果确实如此,并且它已被转义,您可以执行{code}((?:[^{]|\\{)+){code}
之类的操作。用适当的转义字符替换\\
(在这种情况下,我已经采用了通常的字面反斜杠字符约定)。
如果它出现在标签之间并且没有被转义,你可能想要编写一个正确的解析器,因为正则表达式并没有真正用于此类事情。