一、正则
<script>
$(document).ready(function () {
var reg = /s/gi
console.log(reg.test("str"))
})
</script>
<script>
$(document).ready(function () {
var reg = /s/gi
console.log(reg.ignoreCase)
})
</script>
g====global :全文搜索,不设置,只匹配第一个
<script>
$(document).ready(function () {
var reg = /\bis\b/g;
var str = 'He is CF, not is CC';
str = str.replace(reg,'IS');
console.log(str)
})
</script>
<script>
$(document).ready(function () {
var reg = new RegExp('\\bis\\b','g');
var str = 'He is CF,not is CC';
str = str.replace(reg,'IS');
console.log(str);
})
</script>
i====ignore case:忽略大些,默认大小写敏感
<script>
$(document).ready(function () {
var reg = new RegExp('\\bis\\b','gi');
var str = 'He is CF,not is CC';
console.log(str.replace(reg,'0'));
})
</script>
m=====multiple lines:多行搜索
<script>
$(document).ready(function () {
var str = 'X1\
X1\
X2\
'
console.log(str.replace(/X\d/gm,'G'));
})
</script>
l======lastIndex:当前表达式匹配的内容的最后一个字符的下一个位置
二、元字符
字符 | 说明 |
---|---|
\t | 水平制表符 |
\v | 垂直制表符 |
\n | 换行符 |
\r | 回车符 |
\0 | 空字符 |
\f | 换页符 |
三、匹配一类字符 []
<script>
$(document).ready(function () {
var str = 'a1b1c1';
console.log(str.replace(/[abc]/g,'G'));
})
</script>
四、字符取反,反向类 (shift+option + i) ^
<script>
$(document).ready(function () {
var str = 'a1b1c1';
console.log(str.replace(/[^abc]/g,'G'));
})
</script>
五、字符 范围,范围类 -
<script>
$(document).ready(function () {
var str = 'a1b1c1';
console.log(str.replace(/[a-z]/g,'G'));
})
</script>
<script>
$(document).ready(function () {
var str = 'a1b1c1';
console.log(str.replace(/[a-zA-Z]/g,'G'));
})
</script>
六、预定义
字符 | 等价于 | 说明 |
---|---|---|
. | [^\n\r] | 除了回车和换行 |
\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 | 非单词字符 |
七、边界
字符 | 说明 |
---|---|
^ | 以xxx开始 |
$ | 以xxx结束 |
\b | 单词边界 |
\B | 非单词边界 |
<script>
$(document).ready(function () {
var str = 'a1b1c1';
console.log(str.replace(/^a/,'G'));
})
</script>
<script>
$(document).ready(function () {
var str = 'X1\
X1\
X2\
'
console.log(str.replace(/X\d/gm,'G'));
})
</script>
八、量词
字符 | 说明 |
---|---|
? | 出现零次或一次(最多出现一次) |
+ | 出现一次或多次()最少出现一次 |
* | 出现零次或多次(任意次) |
{n} | 出现n次 |
{n,m} | 出现n到m次 |
{n,} | 至少出现n次 |
九、匹配模式
贪婪模式
尽可能匹配
非贪婪模式 \d{3-6}?, 通过 '?' 区分
只匹配第一
十、分组 ()
<script>
$(document).ready(function () {
var str = 'a1b2c3d4';
console.log(str.replace(/([a-z]\d){3}/g,'G'));
})
</script>
<script>
$(document).ready(function () {
var str = 'a1b1';
console.log(str.replace(/(a1|b1)/g,'G'));
})
</script>
十一、反向引用
<script>
$(document).ready(function () {
var str = '2019-08-09';
console.log(str.replace(/(\d{4})-(\d{2})-(\d{2})/g,'$2/$3/$1'));
})
</script>
十二、前瞻
<script>
$(document).ready(function () {
var str = 'a2*3b5_s';
console.log(str.replace(/\w(?=\d)/g,'X'));
})
</script>
网友评论