我正在尝试创建一个正则表达式,当字符串以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))'
似乎忽略了?
的转义字符答案 0 :(得分:2)
看起来确实如此。也许取下“{1}”,但是当我尝试时,它可以与Perl表达式一起使用。
尝试这样做:如果你把“?”进入一个角色类,看看你是否可以摆脱崩溃。
[A-Za-z]+[?][A-Za-z]+
答案 1 :(得分:1)
尝试使用2个反斜杠。
@"[A-Za-z]+\\?[A-Za-z]+"
一个反斜杠,用于将编译器的\
转义为字符串文字,另一个用于转义正则表达式引擎的?
。