正则表达式工具:https://c.runoob.com/front-end/854/
- () :小括号表示分组
(0|1):表示匹配0或1
[] :中括号表示或运算
- ^:表示开头 在中括号中表示取反
- $:表示结尾
- \b:表示单词边界 \B:表示非单词边界
- var reg = /\bis\b/;
- 列:'He is a boy.This is a dog. where is she'.replace(reg,'IS');
- g:表示全局搜索,不添加匹配到第一个后停止
- var reg=/\bis\b/g
- 'He is a boy.This is a dog. where is she'.replace(reg,'IS');
- i:ignore case 忽略大小写,默认大小写敏感
- var reg=/\bis\b/gi
- m:multiple lines 多行搜索
列子: let str='a2*34vv*3*a*'
正则 |
含义 |
\w(?=\d) |
表示匹配单词字符后面是数字 |
\w(?!\d) |
表示匹配单词字符后面不是数字 |
字符 |
等价类 |
含义 |
. |
[^\r\n] |
除了回车符和换行符之外的所有字符 |
\d |
[0-9] |
数字字符 |
\D |
[^0-9] |
非数字字符 |
\s |
[\t\n\x0B\f\r] |
空白符 |
\S |
[^\t\n\x0B\f\r] |
非空白符 |
\w |
[a-zA-Z_0-9] |
单词字符(字母、数字、下划线) |
\W |
[^a-zA-Z_0-9] |
非单词字符 |
字符 |
含义 |
? |
出现零次或一次(最多出现一次) |
+ |
出现一次或多次(至少出现一次) |
* |
出现零次或多次 |
{n} |
出现n次 |
{n,m} |
出现n到m次 都满足情况下默认匹配到m |
{n,m}? |
出现n到m次 都满足情况下默认匹配到n |
{n,} |
至少出现n次 |
RegExp 对象
方法 |
作用 |
RegExp.prototype.test(str) |
测试字符串参数中是否存在匹配正则的项 |
RegExp.prototype.exec(str) |
使用正则表达式模式对字符串进行搜索,并将更新全局RegExp对象的属性以反映匹配结果 如果没有匹配的文本则返回null,否则返回一个结果数组 |
示例
正则 |
含义 |
/.+==+./ |
字符串非开头结尾中包含 '==' |
/^(http|\/\/)/ |
以http或者//开头的字符串 |