应用场景:
1)在IDE中使用正则表达式处理规则复杂的字符串查找,替换需求
2)在js中处理字符串
正则表达式的缩写是Regular Expression 通俗来讲就是按照某种规则去匹配复合条件的字符串 正则表达式就是这种规则
学习正则表达式 图形工具http://regulex.com 国内的打开不了 需要翻墙 可以去网上下载线下的
例子: 以http://开头.jpg结束的字符串 表达式: /http:\/\/.+\.jpg/

字面量创建正则表达式语法 var reg = /\bis\b/g;
修饰符
g:global 全文搜索,不添加则搜索到第一个匹配停止
i:ignore case 忽略大小写 默认大小写敏感
m: multipart 多行搜索
元字符
原义字符:adcd等
元字符 \b单词边界 \d数字 \w字母数字下划线 \s空白
特殊字符 * + $ . | ^ # @ () {} []等
正则中的类
1)字符类 使用[]来创建一个简单的字符类 如[abc] 表示匹配abc中任意一个
2)字符类取反 就是在[]里面加一个^ 如[^abc] 表示匹配不是abc的任意一个字符
3)范围类 [0-9] [a-zA-Z0-9] 表示匹配0到9中任意一个字符
4)预定义类
\d 匹配数组字符
\D 匹配非数字字符
\s 匹配空白符
\S 匹配非空白符
\w 匹配字母数字下划线
\W 匹配非字母数字下划线字符
边界
^ 以xxx开始的字符
$ 以xxx结尾的字符
\b 以单词xx边界开始的字符
\B 以单词xx边界结尾的字符

量词
则正表示式里表示数量的字符 如果没有量词,所有的表达式只表示匹配目标中的一个条件字符
? 出现1次或0次 最多出现一次
+ 出现1次或多次 至少出现一次
* 出现0次或多次 任意次
{n} 出现n次
{n,m} 出现n次到m次
{n, } 至少出现n次
量词中的贪婪模式
'12345678'.replace(/\d{3,6}/g,'A') 讲以最大次数为准 结果是'A78'

非贪婪模式
'12345678'.replace(/\d{3,6}?/g,'A') 在{}后面加? 以最小次数为准 结果为'AA78'
分组
/this{3}/g 这样是对s匹配3次 如果需求是对this匹配三次呢 那么就要用到分组了 /(this){3}/
或 |
未完待续~
1)在IDE中使用正则表达式处理规则复杂的字符串查找,替换需求
2)在js中处理字符串
正则表达式的缩写是Regular Expression 通俗来讲就是按照某种规则去匹配复合条件的字符串 正则表达式就是这种规则
学习正则表达式 图形工具http://regulex.com 国内的打开不了 需要翻墙 可以去网上下载线下的
例子: 以http://开头.jpg结束的字符串 表达式: /http:\/\/.+\.jpg/

字面量创建正则表达式语法 var reg = /\bis\b/g;
修饰符
g:global 全文搜索,不添加则搜索到第一个匹配停止
i:ignore case 忽略大小写 默认大小写敏感
m: multipart 多行搜索
元字符
原义字符:adcd等
元字符 \b单词边界 \d数字 \w字母数字下划线 \s空白
特殊字符 * + $ . | ^ # @ () {} []等
正则中的类
1)字符类 使用[]来创建一个简单的字符类 如[abc] 表示匹配abc中任意一个
2)字符类取反 就是在[]里面加一个^ 如[^abc] 表示匹配不是abc的任意一个字符
3)范围类 [0-9] [a-zA-Z0-9] 表示匹配0到9中任意一个字符
4)预定义类
\d 匹配数组字符
\D 匹配非数字字符
\s 匹配空白符
\S 匹配非空白符
\w 匹配字母数字下划线
\W 匹配非字母数字下划线字符
边界
^ 以xxx开始的字符
$ 以xxx结尾的字符
\b 以单词xx边界开始的字符
\B 以单词xx边界结尾的字符

量词
则正表示式里表示数量的字符 如果没有量词,所有的表达式只表示匹配目标中的一个条件字符
? 出现1次或0次 最多出现一次
+ 出现1次或多次 至少出现一次
* 出现0次或多次 任意次
{n} 出现n次
{n,m} 出现n次到m次
{n, } 至少出现n次
量词中的贪婪模式
'12345678'.replace(/\d{3,6}/g,'A') 讲以最大次数为准 结果是'A78'

非贪婪模式
'12345678'.replace(/\d{3,6}?/g,'A') 在{}后面加? 以最小次数为准 结果为'AA78'
分组
/this{3}/g 这样是对s匹配3次 如果需求是对this匹配三次呢 那么就要用到分组了 /(this){3}/
或 |
未完待续~
