我正在使用Objective-C编写正则表达式。
转义序列\w
是非法的并会发出警告,因此必须将正则表达式/\w/
写成@"\\w"
;转义序列\?
是有效的,显然的,不会发出警告,因此正则表达式/\?/
必须写成@"\\?"
(即必须转义反斜杠)。
问号不像\t
或\n
那样是不可见的,那么为什么\?
是一个有效的转义序列?
编辑:澄清一下,我不是在询问量词,我是在询问字符串转义序列。也就是说,这个不会发出警告:
NSString *valid = @"\?";
相比之下,这个会发出一个警告("Unknown escape sequence '\w'"):
NSString *invalid = @"\w";
?
。 - Jerry