Regular Express正则表达式基础
Posted 苍暮之星
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Regular Express正则表达式基础相关的知识,希望对你有一定的参考价值。
一. 创建一个正则表达式RegExp,有两种方式如下图所示
二、 创建一个正则表达式RegExp详述说明
1.构造函数
//RegExp 是js中一个内置的对象,是正则表达式的缩写 var reg = new RegExp(\'ab\',\'i\') 等价于 var reg = new RegExp(/ab/i)但必须省略flags var reg = new RegExp(\'/ab/\',\'i\') 执行结果 /\\/ab\\//i 匹配字符串\'/ab/\' 忽略大小写
2.面向字面量[常用]
var expression = /pattern/flags ; //pattern 是要匹配的字符串模式 //flags用来标记正则表达式的行为: i 不区分大小写;g 表示全局搜索 ;m 表示多行模式 var reg = /ab/i ,表示匹配 字符串 \'ab\' 不区分大小写
3.正则标识符/修饰符flags说明
global:全文搜索 ignoreCase:忽略大小写,默认大小写敏感 multiLine:多行搜索 source:返回创建RegExp对象实例时指定的表达式纯文本字符串。不包含后面的标志 lastIndex:整数,表示实例在接下来的一次搜索匹配项的开始位置,默认从0开始
4.字符串对象的方法
match:返回一个数组,成员是所有匹配的子字符串。 search():按照给定的正则表达式进行搜索,返回一个整数,表示匹配开始的位置。 replace():按照给定的正则表达式进行替换,返回替换后的字符串。 split():按照给定规则进行字符串分割,返回一个数组,包含分割后的各个成员。
常规用法这里不详述
消除字符串首位空格 var str = " a bc"; str.replace(/^\\s+ | \\s+$/g, ""); replace方法的第二个参数可以使用美元符号$,用来指代所替换的内容。 $& 指代匹配的子字符串。 $` 指代匹配结果前面的文本。 $\' 指代匹配结果后面的文本。 $n 指代匹配成功的第n组内容,n是从1开始的自然数。 $$ 指代美元符号$。
\'hello world\'.replace(/(\\w+)\\s(\\w+)/, \'$2 $1\') //位置的调换 // "world hello" \'abc\'.replace(\'b\', \'[$`-$&-$\\\']\') //替换前面匹配的内容 // "a[a-b-c]c"
replace
方法的第二个参数还可以是一个函数,将每一个匹配内容替换为函数返回值。
\'3 and 5\'.replace(/[0-9]+/g, function(match){ return 2 * match; }) // "6 and 10" var a = \'The quick brown fox jumped over the lazy dog.\'; var pattern = /quick|brown|lazy/ig; a.replace(pattern, function replacer(match) { return match.toUpperCase(); }); // The QUICK BROWN fox jumped over the LAZY dog.
文章参考 https://segmentfault.com/a/1190000007378270
http://www.csdn.net/article/2014-11-27/2822843-tools?reload=1
http://javascript.ruanyifeng.com/stdlib/regexp.html#toc11
以上是关于Regular Express正则表达式基础的主要内容,如果未能解决你的问题,请参考以下文章