javascript字符串字符串匹配的正则表达式

  介绍

本篇内容介绍了”字符串字符串匹配javascript的正则表达式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

字符串对象中支持正则表达式有4种方法,分别是:搜索、替换,匹配,分裂

<强> str.search(正则表达式)

定义:搜索()方法将在字符串str中检索与表达式正则表达式相匹配的字串,并且返回第一个匹配字串的第一个字符的位置。如果没有找到任何匹配的字串,则返回1 .

例如:

var  str =,“Javascript";   str.search(/脚本/);,//,返回,script 中年代的位置为,4   str.search (j/i),,//,设置正则表达是标识我:忽略大小写,则匹配到j,返回位置0

但是,搜索()方法不支持全局搜索,因为会忽略正则表达式参数的标识g,并且也忽略了regexp的lastIndex属性,总是从字符串的开始位置进行检索,所以它会总是返回str的第一个匹配的位置。

例如:

var  str =,“javascript  is  cool";   str.search (/s/g),,//,返回,javascript 中的年代位置4,不会继续检索s    str.replace (regexp,替换)

定义:替换()方法是执行查找并替换的操作。它将正则表达式正则表达式匹配到的字串,然后用替换的字符串替换掉字串,如果有全局标识g,则替换全部匹配的字串,否则只替换第一个匹配字串。

替换方法应该是比较常用的一个方法,在字符串替换操作中非常有用的,例如:

<强> 1,简单替换

var  str =,“javascript";   str.replace (/javascript/& # 39; javascript # 39;);,//,将字符串javascript替换为javascript

<强> 2,全局替换

//,使用全局表示g进行全局替换   var  str =,“javascript";   str.replace (/a/g, & # 39; b # 39;);,//,将所有的字母一个替换为字母b,返回,jbvbscript

3,使用替代中的特殊字符替换,在替换中字美元符有特殊的意义,具体说明如下表格:

来看下例子:

//1,用子表达式替换:$ 1、$ 2等   var  str =,“javascript";   str.replace (/(java)/(脚本),& # 39;& # 39;2美元1美元),,//,表达式中()就是一个子表达式,1美元对应是第一个表达式的内容,即java 2美元为脚本,所以替换结果为:scriptjava //2,和美元,为正值表达式匹配的字串   var  str =,“javascript";   str.replace (/java/& # 39;美元,& # 39;),,//,正则表达式通过直接量java来匹配,匹配结果为java,则,,美元的值为java,然后用字符串,美元——来替换匹配的字串,结果为java script//,,,”美元,$ & # 39;$ $   var  str =,“javascript";   str.replace(美元/瓦”,“”“),//,“美元为匹配子串艾娃的左侧文本,则为j,则替换后艾娃的结果为:jjscript   str.replace(美元/瓦”,“& # 39;“),,//,$ & # 39;为匹配子串艾娃的右侧文本,则为脚本,则替换艾娃的结果为:jscriptscript   str.replace(/瓦”,“$ $”),,//,$ $为直接量符号,即插入一个美元符号,替换结果为:j $脚本

<强> 4,使用替代作为函数替换

替换的参数替换可以是函数而不是字符串,每个匹配都会调用该函数,它返回的字符串将作为替换的文本使用。该函数的第一个参数是整个匹配模式的字符串,接下来的参数是与模式中的子表达式匹配的字符串,可以有0个或多个参数。接下来的参数是一个整数,声明了匹配在str中出现的位置。最后的参数是str自身。

来看个例子:

//, match 为匹配整个字符串,即:& # 39;abc12345 # $ * % & # 39;//,p1 为第一个子表达式,(^ \ [d] *),匹配0个或多个非数字的字符,即:美国广播公司(abc)//,p2 为第二个子表达式,(\ d *),匹配0个或多个的数字,即:12345//,p3 为第三个子表达式,((^ \ w) *)、匹配0个或匹配任何非单词字符。等价于,& # 39;[^ A-Za-z0-9_] & # 39;,即,# $ * %//,offset 为模式匹配出现的位置,从第一个字符已经匹配成功,则位置为0//,字符串为字符串本身,即abc12345 # $ * %   function 代用品(匹配,,p1, p2,, p3,,抵消,,字符串),{   return  [p1, p2, p3) . join(& # 39;,安康;& # 39;);   }   var  newString =, & # 39; abc12345 # $ * % & # 39; .replace (/((^ \ d) *) (\ d *) ([^ \ w] *)/,,替代者),,//,替换结果为:abc 作用;12345,安康;# $ * %

str.match(正则表达式)

定义:匹配()方法是最常用的字符串正则表达式方法。它唯一的参数就是一个正则表达式或者通过正则表达式()构造函数来创建正则表达式,返回值是包含了匹配结果的数组。

javascript字符串字符串匹配的正则表达式