Iphone 如何将[…]中的文本与NSRegularExpression匹配
要匹配以下示例中“[”和“]”之间的文本,NSRegularExpression是什么: “[这是一些]我想用NSRegularExpression[解析]的文本”Iphone 如何将[…]中的文本与NSRegularExpression匹配,iphone,regex,Iphone,Regex,要匹配以下示例中“[”和“]”之间的文本,NSRegularExpression是什么: “[这是一些]我想用NSRegularExpression[解析]的文本” Thx提前:)您的模式应该是\[(.*?)\]您的模式应该是\[(.*?)\]不确定NSRegularExpression,但我怀疑它在贪婪性方面与其他正则表达式类似。因此,如果要在同一个字符串中捕获多个[单词]或[括号中的短语],则必须确保正则表达式不是贪婪的 可能类似(为了清楚起见,分成几行:) 不确定NSRegularExpr
Thx提前:)您的模式应该是
\[(.*?)\]
您的模式应该是\[(.*?)\]
不确定NSRegularExpression,但我怀疑它在贪婪性方面与其他正则表达式类似。因此,如果要在同一个字符串中捕获多个[单词]或[括号中的短语],则必须确保正则表达式不是贪婪的
可能类似(为了清楚起见,分成几行:)
不确定NSRegularExpression,但我怀疑它在贪婪性方面与其他正则表达式类似。因此,如果要在同一个字符串中捕获多个[单词]或[括号中的短语],则必须确保正则表达式不是贪婪的 可能类似(为了清楚起见,分成几行:)
像Daniel回答一样,正确的模式是
\\[(.*?\\]
让我解释一下原因
\\[
表示“开括号”符号。双斜杠允许使用特殊符号[
()
允许作为原子序列进行并集
-任何不带特殊符号的符号*?+[(){}^$\124;\./!
*?
-符号输入0次或更多次。匹配次数尽可能少\\]
-关闭括号像Daniel回答一样,正确的模式是
\\[(.*?\\]
让我解释一下原因
\\[
表示“开括号”符号。双斜杠允许使用特殊符号[
()
允许作为原子序列进行并集
-任何不带特殊符号的符号*?+[(){}^$\124;\./!
*?
-符号输入0次或更多次。匹配次数尽可能少\\]
-关闭括号那么什么样的正则表达式才能找到不包含在方括号中的文本呢?那么,什么样的正则表达式才能找到不包含在方括号中的文本呢?正则表达式匹配通常是贪婪的,所以大多数实现都会将其匹配为“这是我想[解析]的某些]文本”基于OP的输入文本。您需要显式禁止右大括号。正则表达式匹配通常是贪婪的,因此大多数实现会根据OP的输入文本将其匹配为“这是我想[解析]的某些]文本。您需要显式禁止右大括号。
\[ // find an opening square bracket
([^]]+) // find one or more characters that ARE NOT a square bracket
\] // find the corresponding closing square bracket