创建正则表达式以匹配自定义格式

时间:2010-11-10 14:04:26

标签: objective-c regex

我正在尝试创建一个正则表达式,当字符串以1个或多个字母字符开头后跟正好1个?并以1个或多个字母字符结尾时匹配

到目前为止我所拥有的是

[A-Za-z]+\?{1}[A-Za-z]+

但这导致我的程序崩溃。有任何想法吗?感谢您的回复。

已更新

以下是例外:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 
'Can't do regex matching, reason: (Can't open pattern U_REGEX_RULE_SYNTAX 
(string fe?ing, pattern [A-Za-z]+?{1}[A-Za-z]+, case 0, canon 0))'

似乎忽略了?

的转义字符

2 个答案:

答案 0 :(得分:2)

看起来确实如此。也许取下“{1}”,但是当我尝试时,它可以与Perl表达式一起使用。

尝试这样做:如果你把“?”进入一个角色类,看看你是否可以摆脱崩溃。

[A-Za-z]+[?][A-Za-z]+

答案 1 :(得分:1)

尝试使用2个反斜杠。

@"[A-Za-z]+\\?[A-Za-z]+"

一个反斜杠,用于将编译器的\转义为字符串文字,另一个用于转义正则表达式引擎的?