常用正则表达式

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就代表任意数字 \d\d就代表两个数字
   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 相当于/\d\d\d.../相应数量的\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 = /(0\d{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位数字,逗号后不能加空格
posted @ 2020-03-14 20:49  巴蒂goal  阅读(162)  评论(0编辑  收藏  举报