说明:如果您有任何疑问或想咨询其他业务请拨打电话 400 685 0732
全网监测海量数据按需发布监测预警
实时把握舆情动态精准追溯信息源头
正规匹配也就是正规表达式,是计算机科学当中的一个概念,也是在学习计算机过程当中必须要掌握的一个知识点。所以今天我们就来看一看,与正则匹配有关的相关知识,希望大家对这一个概念有一定的了解。
正则匹配——正则匹配是什么
正则表达式,又称规则表达式。(英语:RegularExpression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
正则匹配如何使用
正则的常用方法
1test():在字符串中查找符合正则的内容,若查找到返回true,反之返回false.
用法:正则.test(字符串)
例子:判断是否是数字
varstr=’374829348791′;
varre=/\D/;//\D代表非数字
if(re.test(str)){//返回true,代表在字符串中找到了非数字。
alert(‘不全是数字’);
}else{
alert(‘全是数字’);
}
正则表达式中有很多符号,代表着不同的意思,用来让我们去定义不同的规则,比如上面\D,还有下面的这些:
\s:空格
\S:非空格
\d:数字
\D:非数字
\w:字符(字母,数字,下划线_)
\W:非字符例子:是否有不是数字的字符
(下面会根据例子,依次讲一些常用的字符,最后再作总结。)
2search():在字符串搜索符合正则的内容,搜索到就返回出现的位置(从0开始,如果匹配的不只是一个字母,那只会返回第一个字母的位置),如果搜索失败就返回-1
用法:字符串.search(正则)
在字符串中查找复合正则的内容。忽略大小写:i——ignore(正则中默认是区分大小写的如果不区分大小写的话,在正则的最后加标识i)
例子:在字符串中找字母b,且不区分大小写
varstr=’abcdef’;
varre=/B/i;
//varre=newRegExp(‘B’,’i’);也可以这样写
alert(str.search(re));//1
match()在字符串中搜索复合规则的内容,搜索成功就返回内容,格式为数组,失败就返回null。
用法:字符串.match(正则)
量词:+至少出现一次匹配不确定的次数(匹配就是搜索查找的意思)
全局匹配:g——global(正则中默认,只要搜索到复合规则的内容就会结束搜索)
例子:找出指定格式的所有数字,如下找到123,54,33,879
varstr=’haj123sdk54hask33dkhalsd879′;
varre=/\d+/g;//每次匹配至少一个数字且全局匹配如果不是全局匹配,当找到数字123,它就会停止了。就只会弹出123.加上全局匹配,就会从开始到结束一直去搜索符合规则的。如果没有加号,匹配的结果就是1,2,3,5,4,3,3,879并不是我们想要的,有了加号,每次匹配的数字就是至少一个了。
alert(str.match(re));//[123,54,33,879]
replace():查找符合正则的字符串,就替换成对应的字符串。返回替换后的内容。
用法:字符串.replace(正则,新的字符串/回调函数)(在回调函数中,第一个参数指的是每次匹配成功的字符)
|:或的意思。
有关正则匹配是如何使用的内容今天就介绍到这里了,正则匹配在使用过程当中比较频繁,所以一定要注意它的常用方法,在平时也要多去练习。如果大家还想了解更多与之有关的内容,欢迎关注我们文军营销的官网。
推荐阅读
正则表达式语法有哪些 正则表达式语法大全 | 文军营销空白行的正则表达式:\n\s*\r (可以用来删除空白行) HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? /> (网上流传的版本太糟糕,上面这个也仅仅能部分,对于复杂的嵌套标记依旧无能为力) 首尾空白字符的正则表达式:^\s*|\s*$或(^\s*)|(\s*$) (可以用来删除行首行尾的空白字符(包括空格、...lua语言 lua语言特性是什么 | 文军营销应该能明白这是种不小的困扰没有continue,白白增加了一层循环,增加了缩进层次,费电且看起来不方便只有一种数字类型(double),这不仅仅有性能问题,语义也不对不支持异常处理,默认的方式对编程不友好,不管如何强调保持语言的精简,也不应该不支持异常处理不支持decorator,这是非常重要的语法糖先写这么多,另外谈谈对上面一...
说明:如果您有任何疑问或想咨询其他业务请拨打电话 400 685 0732