日常代码的开发中,大家都或多或少的碰到一些正则表达式,但有的朋友只是会用,或者大致明白,希望这篇对正则深入浅出的文章能够让大家有所收获。
基本语法
[xyz] 一个字符集,匹配任意一个包含的字符
[^xyz] 一个否定字符集,匹配任何为包含的字符
\w (小写) 匹配字母或数字或者下划线的字符
\W (大写) 匹配不是字母,数字,下划线的字符
\s (小写) 匹配任意空白符
\S (大写) 匹配不是空白符的字符
\d (小写) 匹配数字
\D (大写) 匹配非数字的字符
\b (小写) 匹配单词的开始或结束的位置
\B (大写) 匹配不是单词开头或结束的位置
$ 匹配字符串的结束
^ 匹配字符串的开始
. 匹配所有,除了换行符
- 重复0次或更多次
- 重复1次或更多次
? 重复0次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n, m} 重复n次到m次
等更多.........
更多语法可以在W3C正则里查看
匹配位置
需要强调一下匹配位置的几个语法, 后面会一一举例说明
^ 匹配字符串的开始
$ 匹配字符串的结尾
(?=pattern) 正向前瞻,字符串匹配满足条件的位置
(?!pattern) 负向前瞻,字符串匹配满足条件的位置
常用方法和属性
正则表达式的写法有两种