1. 所谓正则表达式,是一种规则,按照这个规则处理字符串
let re = new RegExp("a",i) //js风格 let re = /a/i; //perl风格
2. 忽略大小写:后缀i
let str = "bcdrA";
let n = str.search(re);
3 转义为数字:d就代表任意数字 dd就代表两个数字
let str = "abc 123 def 456 ghj 7890";
let re = /d/
let n = str.search(re);
4 match:将所有匹配的项目提取
5 全部:后缀g
let re = /d/;
let re1 = /d/g //找到所有数字 /d/g 相当于/ddd.../相应数量的d
6 量词 + 表示若干(多少都可以)
let re3 = /d+/g
let m1 = str.match(re); //提取第一个
let m3 = str.match(re1) //输出 3,4,5
let m4= str.match(re3) //输出 345,185
7 replace和正则结合使用
let r5 = /a/g
let m5 = str.replace(r5,"0");
8其他常用转义:任意字符. d 任意数字0-9;w 0-9a-z_(0-9,a-z及下划线)
s空格; D 除了数字;W 除了0-9a-z_ ;S非空格
9.常用量词 {n}至少n次;*任意次{0,};? 0次或1次{0,1} ;+ 1次或任意次{1,}; {n,}至少n次;{n,m} n-m次
let r6 = /(0d{2-3}-)?d{7}(-d{1,5})?/ //021-4786432-111 区号和分机号都是可有可无
10.[]元字符的应用
let str = "apc 454 bpc9 dpc 123 epc fpc";
1.1 任意字符:[abc]代表a或者b或者c
1.2范围中的任1个:[0-9]相当于 d
1.3排除,[^1-9]除了1-9不要,其他都要
let re = /[abc]pc/g
let re = /[^1-5]/g //除了1-5,其他的所有都保留提出,包括字符串
let m = str.match(re);
11 re.text(字符串) 检验这个字符串是否符合正则规范
12 行首 ^ 注意[^]表示除了
13 行尾 $
14 正则表达式不要轻易加空格 如 /d{3,5}/ 表示3-5位数字,逗号后不能加空格