- 正则表达式
/\d+/g
、new RegExp('\\d+','g')
; - 需要转义的字符
^ $ . * + ? = ! : | \ / ( ) [ ] { }
; - 匹配重复字符
{m,n} {m,} {m} ? + *
是尽可能多的匹配,称为“贪婪的匹配”,而“非贪婪匹配”{m,n}? ?? +? *?
在重复字符后加?
,表示尽可能少的匹配。例如:/a+/
匹配字符串"aaa"
的结果是"aaa"
,而/a+?/
匹配字符串"aaa"
的结果是第一个"a"
; - 选择、分组和引用:
|
表示可以选择|
左边或右边的字符,如果左边匹配成功,这回忽略右边的字符;()
的作用之一的将单独的项组合成子表达式,子表达式可以与| * + ?
结合更好地处理独立的单元,带()
的表达式可以被同一正则表达式的后面部分引用,通过\
加一位数字(带圆括号表达式的位置),如/(\w+)-\1/
可以匹配"a-a"
、"abc123-abc123"
等,在圆括号里可以嵌套了另一个圆括号,带圆括号 表达式的位置计算方式是:参与计数的左括号的位置,如在/(\w+(hello))(abc)/
中,(hello)
的位置是2,(?: ... )
只组合表达式,不记忆与该组相匹配的字符; - 修饰符:i表示不区分大小写,g表示全局匹配,m表示多行匹配(^匹配行的开始,$表示匹配行的结束);
- 字符串replace方法
string.replace(searchvalue,newvalue)
,searchvalue可以是一个字符串,也可以是一个正则表达式,newvalue可以是一字符串,并约定了一些特殊符号:
- $i (i:1~99) 表示匹配的第i个子表达式;
- $& 表示与正则表达式匹配的全文本;
- $` 表示匹配字符串的左边文本;
- $’ 表示匹配字符串的右边文本;
- $$ 表示$转义;
- newvalue也可以是一个函数,函数的第一个参数表示匹配的全部字符串,第2个到第n个表示匹配的第n-1个字表达式(就是带圆括号的表达式),倒数第二个参数表示匹配文本字符串的匹配下标位置,最后一个参数表示字符串本身;
javascript正则表达式总结
最新推荐文章于 2021-03-29 20:54:08 发布