最近项目上用到字符串匹配处理的相关功能,现将正则表达式的相关内容总结如下:
- 字面值匹配 /a/ /some text/
- 有特殊意义的字符转义 /\.\*/
- 位置匹配 ^行头 $行尾 /^Marry/ /Marry$/
- 单个字符占位符 /.a/
- 匹配序列中的一个字符 /[a-z]a/ /[A-Ma-m]
- 不匹配序列中的字符 /[^a-z]a/
- 匹配其中的某一个 /cat|dog|bird/
- 子表达式重复若干遍 ‘*’ 表示0或者式多次 ‘+’ 表示1或者多次 ‘?’ 表示0或者1次 /@(=+=)*@/ /A+B*C?D
- 数字表示匹配的最小次数和最大次数 /a{3,4}/ 其中第一个表示最小值,后一个数字表示最大值
- 重复子串匹配 /(abc|xyz) \1 / 匹配两个相同的子串 其中 \1 表示第一个子表达式
- 任意字符串匹配 .* /th.*s/