一.特殊符号和字符
1. literal :匹配文本字符串的字面值 literal
2. rel | re2 : 匹配正则表达式rel或者re2
3. . :匹配任何字符(\n除外)
4. ^ :匹配字符串起始部分
5. $ :匹配字符串终止部分
6. * :匹配 0次或者多次前面出现的正则表达式
7. + :匹配 1次或者多次前面出现的正则表达式
8. ? :匹配 0次或者1次前面出现的正则表达式
9. {N} :匹配 N 次前面出现的正则表达式
10. {M,N} :匹配 M-N 次前面出现的正则表达式
11. [....] :匹配来自字符集的任意单一字符
12. [.. x-y ..] :匹配 x-y 任意单一字符
13. [^ ... ] :不匹配此字符集出现的任意一个字符
14. (*|+|?|{})? :用于匹配上面频繁出现 / 重复出现符号的非贪婪版本 (* ,+ ,? ,{})
15. ( ... ) :匹配封闭的正则表达式,然后另存为子组
16. \d :匹配任何十进制数字,与 [0-9] 一致, (\D与\d 相反,不匹配任意非数值型的数字)
17. \w :匹配任何字母数字字符,(\W与之相反)
18. \s :匹配任何空格字符,与[\n \t \r \v \f]相同,(与\S相反)
19. \b :匹配任何单词边界,(\B与之相反)
20. \N :匹配已保存的子组,(参见上面的( ... ))
21. \c :逐字匹配任意字符 c
22. \A,\Z :匹配字符串的起始,(参见上面的 ^ 和 $)
23. (?iLmsux) :在正则表达式中嵌入一个或多个特殊标记参数
24. (?...) :表示一个匹配不用保存的分组
25. (? P<name>...) :像一个仅由name标识而不是数字 ID 标识的正则分组匹配
26. (? P=name) :在同一个字符串中匹配由(?P<name)分组的之前文本
27. (?#...) :表示注释,所有内容将被忽略
28. (?=...) :匹配条件是如果 ... 出现在之后的位置,而不使用输入字符串;称作正向前视断言
29. (?!...) :匹配条件是如果 ... 不出现在之后的位置,而不使用输入字符串;称作负向前视断言
30. (?<=...) :匹配条件是如果 ... 出现在之前的位置,而不使用输入字符串;称作正向后视断言
31. (?<!...) :匹配条件是如果 ... 不出现在之前的位置,而不使用输入字符串;称作负向后视断言
32. (?(id/name)Y/N) :如果分组所提供的id或name存在,就返回正则表达式的条件匹配 Y,如果不存在,则返回条件匹配 N