找方括号外的特定单词?

时间:2011-08-31 08:36:53

标签: regex

我有以下文本块

Word1 
Word2 
Word3 
Word4 [Hello world Word1] 

我需要一个正则表达式才能在括号内找到Word1 - 但是我不能在括号内使用正则表达式吗?

谢谢Rob

1 个答案:

答案 0 :(得分:3)

这个问题引起了一些关于括号嵌套的问题。我可以编写一个适用于[...]...[..][...]的正则表达式,但[[[][]][]]呢?我不知道您使用的语言是什么,但如果它支持递归正则表达式,请使用: /\[([^[]|(?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

示例:

using RegExr