js正则实测

JS正则实测记录

一、正则两种主要表现形式

格式:正则表达式主体,修饰符(可选)
var patt1=new RegExp(“Hello”,“g”); //形式1
var patt2=/Hello/g; //形式2
var str=“hello ! World, Hello ! Programmer,Hello ! EveryBody”;
str.replace(patt1,“你好”)
str.replace(patt2,“你好”)
//两者的结果会一致//
//hello ! World, 你好 ! Programmer,你好! EveryBody

二、正则常用方法

所有例子以str为例
str=“hello !World, Hello!Programmer,Hello!1234567890”

1、修饰符
符号作用例子
i忽略大小写。var patt=/Hello/i;
str.replace(patt,“你好”)
结果:你好 ! World, Hello! Programmer,Hello! 1234567890
g全局匹配。var patt=/Hello/g;
str.replace(patt,“你好”)
结果:hello ! World, 你好 ! Programmer,你好 ! 1234567890
m多行匹配。没用过

如果需要同时用到两种修饰符
这样写:var patt=/Hello/ig;

2、方括号

注意:以下都没有写/g,所以只会查询到第一个在查询范围内的值就停止了!

表达式作用例子
[xyz]查找方括号之间的任意一个字符var patt=/[ao]/;
str.replace(patt,“换”)
结果:hell ! World, Hello! Programmer,Hello! 1234567890
[ ^xyz]查找任何不在方括号之间的字符。同上相反
[ 0-9]查找任何从 0 至 9 的数字。var patt=/[5-8]/;
str.replace(patt,“换”)
结果:hello ! World, Hello! Programmer,Hello! 123467890
[A-z]查找任何从大写 A 到小写 z 的字符 。同上
3、元字符

注意:只展示本人常用

字符作用
\w查找单词字符。
\W查找非单词字符。
\d查找数字。
\D查找非数字。
\s查找空白字符。
\S查找非空白字符。
\0查找 NULL 字符。
\n查找换行符。
\r查找回车符。
4、量词

注意:只展示本人常用

字符作用例子
n+匹配任何包含至少一个 n 的字符串。/a+/ 匹配 “candy” 中的 “a”,“caaaaaaandy” 中所有的 “a”。
n*匹配任何包含零个或多个 n 的字符串。/bo*/ 匹配 “A ghost booooed” 中的 “boooo”,“A bird warbled” 中的 “b”,但是不匹配 “A goat grunted”
n?匹配任何包含零个或一个 n 的字符串。/e?le?/ 匹配 “angel” 中的 “el”,“angle” 中的 “le”。
n{X}匹配包含 X 个 n 的序列的字符串。/a{2}/ 不匹配 “candy,” 中的 “a”,但是匹配 “caandy,” 中的两个 “a”,且匹配 “caaandy.” 中的前两个 “a”。
n{X,}X 是一个正整数。前面的模式 n 连续出现至少 X 次时匹配。/a{2,}/ 不匹配 “candy” 中的 “a”,但是匹配 “caandy” 和 “caaaaaaandy.” 中所有的 “a”。
n{X,Y}X 和 Y 为正整数。前面的模式 n 连续出现至少 X 次,至多 Y 次时匹配。/a{1,3}/ 不匹配 “cndy”,匹配 “candy,” 中的 “a”,“caandy,” 中的两个 “a”,匹配 “caaaaaaandy” 中的前面三个 “a”。
注意,当匹配 “caaaaaaandy” 时,即使原始字符串拥有更多的 “a”,匹配项也是 “aaa”。
n$匹配任何结尾为 n 的字符串。/y$/ 匹配 “candy,” 中的 “y”。
注意,当匹配 “Toney has many candy” 时,即使看起来有多个以y结尾的单词,匹配项也只是 "candy"中的“y”,因为他是匹配整个字符串的结尾。
^n匹配任何开头为 n 的字符串。同上,只匹配整个字符串的开头
5、常用

替换正反斜杠这种会转义的要在前面加""
let str=“http://”;
str=str.replace(///g,“哈”);
console.log(str);//输出"http:哈哈"

手机号正则检验
/^1[3456789]\d{9}$/.test(mobile)
替换scss编译后的[]那段内容
在这里插入图片描述
[(?!’)\S*]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值