最近重新看了一遍 iOS 的正则文档,简单翻译下文档中涉及到的符号
1.正则表达式元字符
| 符号 | 说明 |
|---|---|
| a | 响铃, u0007 |
| A | 匹配输入的开始,只匹配第一行,也就是忽略多行选项 |
| 不在[]包含时,匹配单词的边界,也就是w和W的中间 | |
| 在[]包含的集合内,匹配 BACKSPACE, u0008 | |
| B | 当前位置不是单词的边界 |
| cX | Ctrl+X |
| d | 所有十进制数字 Nd |
| D | 所有非十进制数字 |
| e | ESCAPE, u001B. |
| E | 结束Q...E引用段 |
| f | 匹配换页符 FORM FEED, u000C |
| G | 当前位置是上个匹配的结束处,第一次匹配的是单词的开始 |
| 换行符 LINE FEED, u000A. | |
| N{UNICODE CHARACTER NAME} | 匹配Unicode 命名对应的字符。见参考3 |
| p{UNICODE PROPERTY NAME} | 匹配对应命名字符集里的字符 |
| P{UNICODE PROPERTY NAME} | 匹配不在命名字符集里面的字符 |
| Q | 引用字符直到E结束,这个引用区间的字符都不需要转义符 |
| 回车 CARRIAGE RETURN, u000D | |
| s | 空白字符,[ f p{Z}] |
| S | 非空白字符 |
| 水平制表符 | |
| uhhhh | 匹配Unicode代码中十六进制代码为hhhh的字符 |
| Uhhhhhhhh | 匹配Unicode代码中十六进制代码为hhhhhhhh的字符,必须是8位,虽然最大的Unicode 值是U0010ffff |
| w | 匹配一个单词字符 [p{Ll}p{Lu}p{Lt}p{Lo}p{Nd}] |
| W | 匹配所有的非单词字符 |
| x{hhhh} | 匹配十六进制hhhh表示的字符,支持1-6位 |
| xhh | 匹配2位十六进制hh表示的字符 |
| X | 匹配一个字符群集(Grapheme Cluster) |
| 匹配输入的结束,如果最后一行后面还有换行符,也匹配 | |
| z | 匹配输入的结束 |
| 回溯引用,匹配第n个匹配,n ≥ 1 并且 ≤ 总匹配数量 | |