美文网首页
js 正则表达式 07-28

js 正则表达式 07-28

作者: 小老虎丶冷心 | 来源:发表于2018-08-26 11:23 被阅读0次

一、创建正则表达式

创建正则表达式和创建字符串类似 , 创建正则表达式提供了两种方法 , 一种是采用 new运算符,另一个是采用字面量方式。
RegExp 对象的方法
RegExp 对象有 3 个方法:test()、exec() 以及 compile()。

 var dog = new RegExp('dog'); // 第一个参数字符串 
  var dog = new RegExp('dog', 'ig'); // 第二个参数可选模式修饰符 

var dog = /dog/; 
  var dog = /dog/ig; //字面量方式。

RegExp 对象包含两个方法 : test() 和 exec() , 功能基本相似 , 用于测试字符串匹配 。

test()方法在字符串中查找是否存在指定的正则表达式并返回布尔值 , 如果存在则返回 true , 不存在则返回 false 。

exec() 方法也用于在字符串中查找指定正则表达式,如果 exec() 方法执行成功,则返回包含该查找字符串的相关信息数组。如果执行失败,则返回 null 。

虽然创建正则表达式对象比较简单,但真正复杂的却是用正则语法描述的模式信息。接下来,我们分几个小节分别探讨一些模式:
二、字符串的正则表达式方法

例如:

var myPattern = /dog/ig;var theStr = "this is a dog,that is a dog!"console.log(theStr.match(myPattern)); //["dog", "dog"] 
var myPattern = /dog/i;var theStr = "this is a dog,that is a dog!"console.log(theStr.search(myPattern)) //10 
var myPattern = /dog/i; //注意没有设置全局,如果设置全局,结果为:this is a Cat,that is a Cat!var theStr = "this is a dog,that is a dog!"console.log(theStr.replace(myPattern,"Cat")); //this is a Cat,that is a dog! 
var myPattern = /\s/ig;var theStr = "this is a dog,that is a dog!"console.log(theStr.split(myPattern)); //["this", "is", "a", "dog,that", "is", "a", "dog!"],这个加不加全局g没有影响! 
二、直接量字符 
在正则表达式中,所有字母字符和数字都是按照直接量与自身匹配的。同时,正则表达式还通过反斜杠“\”加字母来支持某些非字母的字符。见下面的匹配列表: 
字符        匹配 
字母和数字     自身 例如: /a/ 匹配 字母 a 
\o         NUL字符 
\t         制表符 
\n         换行符 
\v         垂直制表符 
\f         换页符 
\r          回车 

test()
test() 方法检索字符串中的指定值。返回值是 true 或 false。
例子:

var patt1=new RegExp("e");

document.write(patt1.test("The best things in life are free")); 
true

exec()
exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。
例子 1:

var patt1=new RegExp("e");

document.write(patt1.exec("The best things in life are free")); 

由于该字符串中存在字母 "e",以上代码的输出将是:

e

compile()
compile() 方法用于改变 RegExp。
compile() 既可以改变检索模式,也可以添加或删除第二个参数。
例子:

var patt1=new RegExp("e");

document.write(patt1.test("The best things in life are free"));

patt1.compile("d");

document.write(patt1.test("The best things in life are free"));

由于字符串中存在 "e",而没有 "d",以上代码的输出是:

truefalse

相关文章

  • js 正则表达式 07-28

    一、创建正则表达式 创建正则表达式和创建字符串类似 , 创建正则表达式提供了两种方法 , 一种是采用 new运算符...

  • JS基础

    JS基础 JS运算 JS代码块 JS对象 原型对象 GC 正则表达式

  • js 正则表达式

    js 正则表达式

  • JavaScript基础 JavaScript正则表达式

    JS正则表达式:

  • 生命智慧读书会

    《业力管理》读书会系列活动之第二十五次—金刚智慧 【时间】7月28号07-28 10:00至07-28 12:00...

  • JS正则表达式

    js正则表达式 https://segmentfault.com/a/1190000002471140 正则表达式...

  • JS正则表达式

    @(javascript)[js正则表达式] [toc] JS正则表达式 正则表达式一直是一个令人头疼但却又是十分...

  • 正则初解

    title: js验证常用正则表达式date: 2017-03-03 验证 正则表达式 本文介绍js验证常用的正则...

  • 正则

    1 JS之正则表达式15个常用的javaScript正则表达式

  • [Emacs] 自动切换语言模式

    打开js文件时,自动切换到js2-mode 其中“\\.js\\'”是正则表达式用来匹配js文件,“\\.”匹配“...

网友评论

      本文标题:js 正则表达式 07-28

      本文链接:https://www.haomeiwen.com/subject/tixoiftx.html