我正在Word中编写一个应该匹配的通配符字符串:
{0>yadayada<}100{>yadayada<0}
yadayada可以是任何东西,除了新的分隔符的开头,表示为:{0&gt;
这是我到目前为止所做的:
(\{0\>)*(\<\}100\{\>)*(\<0\})
除非第一个'*'保持匹配tekst,直到找到&lt;} 100 {&gt; yadayada&lt; 0} 我需要更改它,以便*选择除包含'{0&gt;'
的字符串之外的所有内容我通过改变第一个*和
来尝试这个[!(\{0>)]*
或者一切都在一起:
(\{0\>)[!(\{0>)]*(\<\}100\{\>)*(\<0\})
但这显然不起作用。 请帮忙!
答案 0 :(得分:1)
试试这个:
\{0>.+?(?=\{0>)
您只需要转义\{
这句正则表达的内容是:
匹配所有包含{0>
的字符串,然后任意一次或多次.+
的文字和最后的?
告诉正则表达式引擎执行延迟搜索,因为.+
如果你愿意,它将消耗所有字符。懒惰的搜索说找到最少量的字符,直到正则表达式的下一部分可以接管。
然后(?=\{0>)
表示匹配下一个分隔符,但不包括在选择中。
希望这有帮助!