正则表达式包括:元字符 和 子表达式
元字符包括:
1.限定符:用于指定其前面的字符或组合连续出现的次数 {n} , {n,} , {n,m} ,+ ,* == {0,} ,?
2.选择匹配符 :| 选择匹配符选择尽可能大的表达式
3.分组组合和反向引用符:/\b([a-z]+) \1\b/gi
(?:pattern)
(?!pattern) 必须位于匹配的末尾
(?!pattern)
4.特殊字符
5.字符匹配符: [a,b,c,d] [^.....]如果不是出现在第一位,它还是字面意思的^
[^a-z] \d \D(匹配非数字字符) \s(space) \S(\s的) \w \W .(匹配出了\n之外的字符)
6.定位符 ^ , $ , \b(单词的边界) ,\B(与\b先逆向)
var str = 'win a window'; str.replace(/win/g,'lose');是错误的
应该使用 str.replace(/\bwin\b/g,'lose')
1.匹配空行: /^\S*$/
2./<()>
贪婪匹配 和 非贪婪匹配原则
贪婪匹配 :zoom zo?取匹配 则zoom会被匹配
非贪婪匹配 :选择最少的一个 用?fooooood fo+?只匹配fo,
元字符包括:
1.限定符:用于指定其前面的字符或组合连续出现的次数 {n} , {n,} , {n,m} ,+ ,* == {0,} ,?
2.选择匹配符 :| 选择匹配符选择尽可能大的表达式
3.分组组合和反向引用符:/\b([a-z]+) \1\b/gi
(?:pattern)
(?!pattern) 必须位于匹配的末尾
(?!pattern)
4.特殊字符
5.字符匹配符: [a,b,c,d] [^.....]如果不是出现在第一位,它还是字面意思的^
[^a-z] \d \D(匹配非数字字符) \s(space) \S(\s的) \w \W .(匹配出了\n之外的字符)
6.定位符 ^ , $ , \b(单词的边界) ,\B(与\b先逆向)
var str = 'win a window'; str.replace(/win/g,'lose');是错误的
应该使用 str.replace(/\bwin\b/g,'lose')
1.匹配空行: /^\S*$/
2./<()>
贪婪匹配 和 非贪婪匹配原则
贪婪匹配 :zoom zo?取匹配 则zoom会被匹配
非贪婪匹配 :选择最少的一个 用?fooooood fo+?只匹配fo,