十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本文小编为大家详细介绍“javaScript正则表达式代码怎么写”,内容详细,步骤清晰,细节处理妥当,希望这篇“javaScript正则表达式代码怎么写”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
目前成都创新互联公司已为近1000家的企业提供了网站建设、域名、网页空间、网站改版维护、企业网站设计、乌达网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
‘\b’:代表单词边界,比如/\bis\b/会匹配一句话中的is单词,不会匹配单词中的is
‘()’:小括号可以用于分组,以便获取到正则表达式匹配的内容,用1可以获取第一个小括号的内容,用2可以获取第二个小括号的内容。以此类推
g:global全文搜索,不添加,搜索到第一个匹配停止
i:ignore case 忽略大小写,默认大小写敏感
m:multiple lines多行搜索
var reg = new RegExp(‘\b要替换的文本\b’, ‘g’);
“文本”.replace(reg, “替换后的文本”)
字面量
var reg = /\b文本\b/g;
正则表达式由两种基本字符类型组成
1.原义文本字符:代表它原来含义的字符 例如:abc、123
2.元字符:在正则表达式中有特殊意义的非字母字符
例如:\b表示匹配单词边界,而非\b
在正则表达式中具体特殊含义的字符:* + ? $ ^ . \ () {} []
元字符:
\t:水平制表符;
\v:垂直制表符;
\n:换行符;
\r:回车符;
\0:空字符;
\f:换页符;
\cX:与X对应的控制字符
使用元字符[]来构建一个简单的类,
所谓类是指符合某些特性的对象,一个泛指,而不是特指某个字符
表达式[abc]把字符a或b或c归为一类,表达式可以匹配这类字符
字符类取反
使用元字符^创建反向类/负向类
反向类的意思是不属于某一类的内容
表达式[^abc]表示不是a或b或c的内容
"a1b2c3".replace(/[abc]/g,"x"); // 匹配结果 : x1x2x3 "a1b2c3".replace(/[^abc]/g,"x"); // 取反 匹配结果 : axbxcx
范围类:[a-z],[0-9]等等,可以连写:[a-zA-Z]
如果要匹配里面的横杠“-”,可以在后面加一个横杠“-”:[0-9-]
“2016-09-05”.replace(/[0-9-]/g,”X”) => XXXXXXXXXXX
^在中括号中[]表示取反
不在[]表示以xxx开始
\d 数字
\D 非数字
\s 空白符
\S 非空白符
\w 单词字符(字母数字下划线)等同于 [a-zA-Z_0-9]
\W 非单词字符
. 除了回车符和换行符以外的所有字符
正则表达式还提供了几个常用的边界匹配字符:
^ 开头
$ 结尾
\b 单词边界
\B 非单词边界
? 最多出现一次
+ 至少出现一次
* 任意次
{n} 出现n次
{n,m} 出现n到m次
{n,} 至少出现n次
正则表达式的匹配模式有:贪婪模式,非贪婪模式。默认模式为贪婪模式,设置非贪婪模式需要在量词后面添加疑问号“?”。
例如: ‘123456789’.match(/\d{3,6}?/g)//匹配结果为['123456'] ‘123456789’.match(/\d{3,6}?/g) //匹配结果为 ['123','456','789']
使用()可以达到分组的功能,使量词作用于分组
| 或
反向引用 $ 捕获分组
'2015-12-25'.replace(/(\d{4})-(\d{2})-(\d{2})/g,$1/$2/$3);// 匹配结果 2015/12/25
忽略分组
分组:使用“()” ,忽略分组:“(?:)”。忽略分组的意思是说,虽然分了组,但是不能通过”$”来获取改组的内容。
忽略分组 - 不希望捕获某些分组,只需要在分组内加上 “?:” 就可以
例: (?:Byron)
exp(?=assert) 正向前瞻
exp(?1assert) 负向前瞻
前瞻 匹配某个正则之后 再检查 后面的匹配规则
正向前瞻(/\w(?=\d)/);//匹配到单词之后,在检查后面是数字
负向前瞻(/\w(?!\d)/)://匹配到单词之后,在检查后面不是数字
g是否全文搜索
i是否大小写敏感
m是否多行搜索
l当前表达式匹配内容的最后一个字符的下一个位置
s正则表达式的文本内容
reg.test(“str”);// 测试参数是否匹配正则表达式reg
str.search(reg);//search返回第一个匹配结果的index,查找不到返回-1;search方法是忽略全局匹配的
str.match(reg);//返回数组,match方法 是否具有标志g对结果影响很大,没有标志g只执行一次匹配,没有找到文本,返回null,否则返回数组
str.split(reg);//返回数组
str.replace(reg,str1);//
string.replace(str, replaceStr)
string.replace(reg, replaceStr)
string.replace(reg, function)
读到这里,这篇“javaScript正则表达式代码怎么写”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注创新互联行业资讯频道。