1、认识正则表达
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
利用正则我们可以达到如下的目的:1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。
特点是:1. 灵活性、逻辑性和功能性非常的强;2. 可以迅速地用极简单的方式达到字符串的复杂控制。3. 对于刚接触的人来说,比较晦涩难懂。
2、正则表达组成
正则表达式由一些普通字符(包括大小写的字母和数字所有标点符号以及一些符号)和一些元字符(特殊的字符)组成
3、元字符
列举常用元字符
$ 匹配内容结束位置(eg:/joyous$/,这个是匹配joyus结尾)
() 标记子匹配模块,后面可以使用\1、\2……来取代(eg:/(0-9)[a-z]\1/,这是匹配“数字字母数字”的)
* 匹配前面内容零次或者多次
+ 匹配它之前的内容一次或者多次(注意这个是一个字符)
? 匹配它之前的一个字符一次或者零次
{n} 重复前面匹配内容n次
{n,} 重复前面匹配内容至少n次
{n,m} 重复前面匹配内容n-m次
. 匹配任意字符除换行符之外
^ 匹配内容开头位置
\b 匹配分隔符(比如空格)而\B没有分隔符
\w 匹配字母数字下划线或者汉字
\d 匹配数字而\D匹配不是数字
[] 匹配方括号里面作为匹配范围,这样[0-9]就等同于\d
4.修正符
i不区分大小写
x忽略内容的空白
U贪婪匹配只匹配到最近的就停止匹配
m在匹配时候采用多行模式匹配
A强制从头开始匹配
D匹配结束标志为\n
可以使用RegexTester来验证正则