【发布时间】:2011-08-31 17:07:19
【问题描述】:
我有以下文本块
Word1
Word2
Word3
Word4 [Hello world Word1]
我需要一个正则表达式来在括号外找到 Word1 - 但不在括号内我可以用正则表达式来做到这一点吗?
谢谢罗伯
【问题讨论】:
标签: regex
我有以下文本块
Word1
Word2
Word3
Word4 [Hello world Word1]
我需要一个正则表达式来在括号外找到 Word1 - 但不在括号内我可以用正则表达式来做到这一点吗?
谢谢罗伯
【问题讨论】:
标签: regex
这个问题引发了一些关于括号嵌套的问题。我可以编写一个适用于[...]...[..][...] 的正则表达式,但是[[[][]][]] 呢?我不知道您使用的是什么语言,但如果它支持递归正则表达式,请使用:/\[([^[]|(?R))*?\]/。您需要删除与此正则表达式匹配的任何内容,然后使用标准搜索功能搜索您需要的单词。
正则表达式解释:
\[ // opening bracket
( // start group
[^[] // any character, but not opening bracket
| // or
(?R) // another nested bracket group
)*? // zero or more of this group, lazy
\] // closing bracket
例子:
【讨论】: