• 认真地记录技术中遇到的坑!

JavaScript正则表达式使用

JavaScript 悠悠 2年前 (2017-12-25) 404次浏览 0个评论

JavaScript 中使用 RegExp 对象来描述正则表达式,该对象提供了一系列正则表达式的操作。

定义

在JavaScript中有两种方式定义正则表达式:

  • var patt=new RegExp(pattern, modifiers);
  • var patt=/pattern/modifiers;

相关的参数说明如下:

  • pattern:描述了表达式的模式
  • modifiers:用于指定全局匹配、区分大小写的匹配和多行匹配的修饰符
  • 第一种使用构造函数的方式中,pattern需要使用餐柜的支付转义规则
var re = new RegExp("\\w+qq"); // 需使用转义
var re = /\w+qq/i;

修饰符可为:

修饰符 描述
i 执行对大小写不敏感的匹配
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
m 执行多行匹配
gi 全局区分大小写的匹配

RegExp 对象的方法

compile() 方法

compile() 方法用于在脚本执行过程中编译正则表达式。也可用于改变和重新编译正则表达式。

  • 定义:RegExpObject.compile(regexp,modifier)
  • regexp:正则表达式
  • modifier:规定匹配的类型

exec() 方法

exec() 方法用于检索字符串中的正则表达式的匹配。如果字符串中有匹配的值返回该匹配值,否则返回 null。

  • 定义:RegExpObject.exec(string)
  • string:需要搜索的字符串

test() 方法

test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中有匹配的值返回 true ,否则返回 false。

  • 定义:RegExpObject.test(string)
  • string:要检测的字符串
//查找"Hello"
var patt=/Hello/g;
var result=patt.test(str);  // true

支持正则表达式的 String 对象的方法

search() 方法

search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。如果没有找到任何匹配的子串,则返回 -1。

  • 定义:string.search(searchvalue)
  • searchvalue:查找的字符串或者正则表达式
  • 返回值:与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置
var str="Mr. Blue has a blue house";
str.search("blue");  // 15

match() 方法

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

  • 定义:string.match(regexp)
  • regexp:规定要匹配的模式的 RegExp 对象
  • 返回值: 存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。 如果没找到匹配结果返回 null
var str="The rain in SPAIN stays mainly in the plain"; 
var n=str.match(/ain/gi); // ain,AIN,ain,ain

replace() 方法

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

  • 定义:string.replace(searchvalue,newvalue)
  • searchvalue:规定子字符串或要替换的模式的 RegExp 对象
  • newvalue:一个字符串值。规定了替换文本或生成替换文本的函数
  • 返回值:一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的
var str="Mr Blue has a blue house and a blue car";
var n=str.replace(/blue/g,"red");
// n 为:Mr red has a red house and a red car

转载请注明出处 JavaScript正则表达式使用
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址