正则学习笔记—基础篇

1、什么是正则?

我的理解:处理字符串的工具。

2、如何使用?

先睹为快:
/\d/
匹配0-9的字符串:0 1 2 3 4 5 6 7 8 9

/\.(jpg|png|gif)/i
1.jpg
a.JPG
a.Jpg

以小见大:

3、定界符两个斜杠://

匹配规则写在两个两个斜杠之间

4、 转义一个反斜杠\

\d [0-9]
\w [a-z0-9_]
\s 空白
. 任意字符
\D [^0-9] 其中 ^表示排除
\W [^a-z0-9_]
\S 非空白

5、定界符右侧的:

1)i 忽略大小写
2)g 即global 贪婪模式,也可以组合使用 iggi

6、 元字符一对中括号[ ]的含义

1)任何一个

/a[abc]q/
正确:aaq,abq,acq
错误:abbq

2)范围

/[a-z]/i:a至z之间的任意一个字母,i 不区分大小写
/[0-9]/: 0至9之间的任意一个数字
/[a-z0-9]/:匹配一个字符,a至z之间小写字母或0至9之间的数字
[3-59] [3-5 9]:匹配一个数字,3至5之间的数字或数字9

3)排除

[^a-z0-9]:匹配一个字符,a至z或0至9之外的字符

7、 量词一对大括号{ }

{n} /a{6}/ /\d{11}/ :匹配n个字符
{n,m} /\d{5,12}/:匹配5至12个字符
{n,} /\w{6,}/:至少6个字符,多了不限
+ 等价于 {1,} :至少一个,多了不限
? 等价于{0,1} :有且仅有一个
. : 任意字符
示例:
/\.jsx?/ :匹配: .js .jsx
/a.{3,20}z/: 匹配: a 任何字符5-18 z
正确:a#5678#z
正确:a123456z
正确:a2wewrjkjl8934&*z

8、修饰符即条件

^ 行首
$ 行尾
示例:
/\.js/ 1.js.png 1.html.js.png.ccc 符合规则,但显然不是我们需要的结果

/\.js$/i 1.js 1231.txt.js 正确

/^https?:\/\// 正确

9、优先级

使用圆括号( )提示优先级

let re=/\.(jpg|gif|png)$/i;

// const str = 1.Png;   // 通过
// const str = 2.jpg;   // 通过
const str = 3.GIF;      // 通过

if(re.test(str)){
     alert('通过');
 }else{
     alert('不对');
}

你可能感兴趣的:(正则学习笔记—基础篇)