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