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正则表达式基础的主要内容,如果未能解决你的问题,请参考以下文章

Regular Exprassion--正则表达式基础

javascript基础知识之正则表达式(regular expression)

AS3:正则表达式基础

Regular ExpressionRE分类及案例

regular expression

day4 正则表达式(regular)