Iphone 确定NSRegularExpression的模式时出现问题。。。?

Iphone 确定NSRegularExpression的模式时出现问题。。。?,iphone,objective-c,ios,regex,nsregularexpression,Iphone,Objective C,Ios,Regex,Nsregularexpression,我对NSRegularExpression比较陌生,只是想不出在字符串中查找字符串的模式。。。。 这是绳子 #@$294@001@[12345-678[123-456-7@15665@2 我想提取字符串 @001@[12345-678[123-456-7@ 关于更多信息,我知道两个@之间将有3位数字(如001),最后两个@之间将有20个字符 我尝试了n种组合,但似乎都不起作用。非常感谢您的帮助。这样的组合怎么样: @[0-9]{3}@.{20}@ 如果您知道20个字符始终由数字组成,[和-,

我对NSRegularExpression比较陌生,只是想不出在字符串中查找字符串的模式。。。。 这是绳子

#@$294@001@[12345-678[123-456-7@15665@2
我想提取字符串

@001@[12345-678[123-456-7@

关于更多信息,我知道两个
@
之间将有3位数字(如
001
),最后两个
@
之间将有20个字符


我尝试了n种组合,但似乎都不起作用。非常感谢您的帮助。

这样的组合怎么样:

@[0-9]{3}@.{20}@
如果您知道20个字符始终由数字组成,
[
-
,则您的模式将变为:

@[0-9]{3}@[0-9\[\-]{20}@

注意反斜杠:使用字符串文字(
@“…”
)创建模式时,需要在每个反斜杠之前添加一个额外的反斜杠。

可以使用regextster测试NSRegularExpression模式,而无需每次重新编译。“.”(点表示…?)点匹配任何字符,如果您知道它将始终是数字,
[
-
,则可能需要使用更具体的模式。我认为不必在括号表达式中转义左括号('[')。同样,也不必转义短划线('-')如果它是括号表达式中的第一个字符。我想你是对的,但它不会伤害我,而且我实际上觉得它更容易阅读。非常感谢各位。根据我的需要定制它。