如何匹配[...]中的文本与NSRegularExpression

时间:2011-03-13 01:52:06

标签: iphone regex

NSRegularExpression与以下示例中的“[”和“]”之间的文本匹配:

“[这是一些]我想[解析]与NSRegularExpression”的文本“

提前Thx:)

3 个答案:

答案 0 :(得分:2)

不确定NSRegularExpression,但我怀疑它就像贪婪方面的其他正则表达式一样。因此,如果您想要在同一个字符串中捕获多个[words]或[括号中的短语],则必须确保正则表达式不贪婪。

也许是类似的东西(为了清晰起见,分成几行)。

\[                     // find an opening square bracket
  ([^]]+)              // find one or more characters that ARE NOT a square bracket
\]                     // find the corresponding closing square bracket

答案 1 :(得分:2)

像丹尼尔一样回答正确的模式是\\[(.*?)\\] 让我解释一下原因。

  1. \\[是“开括号”符号。双斜杠允许使用特殊符号[
  2. 所有( )允许以原子序列结合
  3. . - 任何没有特殊* ? + [ ( ) { } ^ $ | \ . /!
  4. 的符号
  5. *? - 符号条目0次或更多次。匹配尽可能少的次数。
  6. \\] - close-bracket

答案 2 :(得分:1)

您的模式应为\[(.*?)\]