编写一个匹配Word中特定分隔符的通配符

时间:2013-09-05 10:25:01

标签: regex vba word-vba

我正在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\})

但这显然不起作用。 请帮忙!

1 个答案:

答案 0 :(得分:1)

试试这个:

\{0>.+?(?=\{0>)

您只需要转义\{

这句正则表达的内容是:

匹配所有包含{0>的字符串,然后任意一次或多次.+的文字和最后的?告诉正则表达式引擎执行延迟搜索,因为.+如果你愿意,它将消耗所有字符。懒惰的搜索说找到最少量的字符,直到正则表达式的下一部分可以接管。

然后(?=\{0>)表示匹配下一个分隔符,但不包括在选择中。

希望这有帮助!