首页

  • 首页
  • 友链
  • 标签
  • 关于

正则表达式

白羊座的梦 发布于 2019-11-16

正则表达式

正则表达式;

1.() 子集

1
2
3
1.子集	被括号包起来的就属于一个整体,
2.replace的第二个参数,可以通过$1$2...$n
$1可以获取第一个子集的内容,他只能匹配(\d)这种;

2.[] 匹配范围

1
[0-3],表示找到一个位置上的字符只能是0到3折四个数字,与(abc|bcd|cde)的作用比较类似,但圆括号可以匹配多个连续的字符

3.3. | 或者

1
2
1.他一般在子集中用,如果在[]中用,那就会			
2.把|当成字符进行匹配;

4.3.[\u4e00-u9fa5]

1
中文级:所有的中文;

5字符串的replace()方法;

1
2
3
4
5
6
str="123456";
reg=/123/
var a = str.replace(reg,"帅");
console.log(a)//帅456;
第二个参数还可以返回一个回调函数,回调函数的arguments内容就是
第一个参数是正侧匹配的数据,如果有子集表达是,第二个参数就是子集匹配的内容;

6.断言,常用正则;

1
2
3
4
5
6
7
1.[^字符]	就是非字符,就是不要的意思
2./(正则)\1/ 反向引用,\1是第一个子集,\2第二个子集
3.(?:模式) 这是捕获匹配;
4.a(?=f) 正向肯定预查,不捕获匹配,检查字符串后面的字符从后面看紧跟着f的a
5.a(?!f) 正向否定预查;不捕获匹配,检查字符串后面的字符不紧跟着f的a
6.a(?<=f) 反向肯定查,检查字符串前面的字符从前面看紧跟着f的a
7.a(?<!) 反向否定查,检查字符串前面的字符不紧跟着f的a;

7.写法:/内容/修饰符;

1
2
3
4
5
6
7
1.正则.test(字符串);
检测str中有没有符合reg的规则,有则返回true,无则返回false;
2.字符串.match(正则);
返回一个数组,第零项返回reg匹配内容;
3.正则.exec()分批次检查正则数据,第一次匹配第一个匹配的数据,第二次调用匹配第二个匹配的数据.
4.str.search(正则)和字符串的str.indexOf()一样的,传入正则表达式;返回匹配到第一个字母的下表值;
5.str.replace(正则,替换的内容/回调函数)

8.元字符;

1
2
3
4
5
6
7
8
9
10
11
12
13
1.\	转义符
2.\d 范围是[0-9];
3.\D 非数字;
4.\s 空格;
5.\S 非空格;
6.\w 字符(数字,字母,_);
7.\W 非\w;
8.\b 单词边界,就是单词和空格之间是否有开光标位置;
(单词边界,单词起始,结束,连字符[除了\w之外的所有的字符串多属于连字符]);
9.\B 非\b;
10.小数点 . 除了换行符和回车符(\n,\r)其他的都是他匹配的范围;
11.^ 以^后面的第一个字符串的开始;
12.$ 以$前面的第一个字符串的结束;

量词;

1.{最小值,最大值};

1
2
3
4
5
6
7
8
9
1.第一种是贪婪匹配默认就是贪婪匹配,也就是从最大值开始匹配,如果匹配不到就会依次降级,直到降到最低;
/\d{5,10}/匹配数字,十个,没有就九个,
2.第二中就是非贪婪匹配,也就是从最小值开始匹配,写法就是后面加个?号;
/\d{5,10}?/
3.还有几种特殊的写法;
1.{5,}最小五次,最大无穷次
2.{0,} 可以简写为 * 号;
3.{1,} 可以简写为 + 号;
4.{0,1} 简写为 ? 号;(可有可无);

2.特殊修饰符:

1
2
3
4
5
1.i	忽略大小写,写在/正则表达式/i;

2.g 全局匹配,从第一个开始匹配,匹配完输出答案; 返回的是一个数组;

3.m 换行匹配,如果字符串中有换行的字符串,就可以 对他进行换行匹配

注意这三个标志符多是放在,正则表达式后面;

特殊字符(不常用);

1
2
3
4
5
1.\t水平制表符
2.\v垂直表符
3.\f换页符
4.\n换行符
5.\r回车符
  • #js
Newer
hook函数
Older
弹性盒子模型

© 2020 白羊座的梦

Powered by Hexo Theme - flex-block