AJax技术

学习JavaScript正则表达式

字号+ 作者:H5之家 来源:H5之家 2015-11-19 09:08 我要评论( )

这篇文章主要介绍了JavaScript正则表达式,详细深入的了解JavaScript正则表达式,从而更熟练掌握JavaScript正则表达式,感兴趣的小伙伴们可以参考一下 JavaScrip

时间:2015-11-17来源: 作者:源码库 文章热度: ℃

这篇文章主要介绍了JavaScript正则表达式,详细深入的了解JavaScript正则表达式,从而更熟练掌握JavaScript正则表达式,感兴趣的小伙伴们可以参考一下

JavaScript正则表达式学习:

有个在线调试正则的工具。下面的所有示例代码,都可以在codepen上查看到。

1.创建正则表达式

 

 
  •  
  • 1)正则表达式字面量在脚本加载后编译。若你的正则表达式是常量,使用这种方式可以获得更好的性能。

    2)使用构造函数,提供了对正则表达式运行时的编译。当你知道正则表达式的模式会发生改变, 或者你事先并不了解它的模式或者是从其他地方(比如用户的输入),得到的代码这时比较适合用构造函数的方式。

    2.正则表达式中的特殊字符

    \ ^ $ * + ? . (x) (?:x) x(?=y) x(?!y) x|y {n}

    {n,m} [xyz] [^xyz] [\b] \b \B \cX \d \D \f \n \r

    \s \S \t \v \w \W \n \0 \xhh \uhhhh

    3.正则表达式中的方法

    exec、test、match、search、replace和split

    有6个,分别是。

    exec和test的语法都是regexObj调用,match、search、replace和split的语法都是string调用。

    exec:

    方法为指定的一段字符串执行搜索匹配操作。它的返回值是一个数组或者 null。语法如下:regexObj.exec(str)

    示例代码:

    var re = /quick\s(brown).+?(jumps)/ig;

    var result = re.exec('The Quick Brown Fox Jumps Over The Lazy Dog');

    返回结果:

    test:

    一个在字符串中测试是否匹配的RegExp方法,它返回true或false。语法如下:regexObj.exec(str)

    match:

    一个在字符串中执行查找匹配的RegExp方法,它返回一个数组或者在未匹配到时返回null。

    与exec略有不同,首先是调用方式,math是由字符串调用,而exec是由RegexObj调用。

    其次,如果表达式中有“g”标记,那么返回一个匹配的字符串数组,如果没有就会和exec返回的一样。下面这个demo就是有“g”。语法如下:str.match(regexp)

    示例代码:

     

     
  • var re = /quick\s(brown).+?(jumps)/ig; 
  • 返回结果:

    search:

    一个在字符串中测试匹配的String方法,它返回匹配到的位置索引,或者在失败时返回-1。语法如下:str.search(regexp)

    例如上面的示例代码如果是调用search,返回数据就是4。

    replace:

    一个在字符串中执行查找匹配的String方法,并且使用替换字符串替换掉匹配到的子字符串。语法如下:str.replace(regexp|substr,newSubStr|function[,flags])

     

     
  • var re = /(\w+)\s(\w+)/; 
  • 返回的结果将是:“Smith, John”

    split:

    一个使用正则表达式或者一个固定字符串分隔一个字符串,并将分隔后的子字符串存储到数组中的String方法。语法如下:str.split([separator[,limit]])

    limit就是限制分割后的数组中的个数。下面的是一个demo,但是表达式中有一个是加了括号,一个没加,返回的数据是不一样的。

    示例代码:

     

     
  • var re = /(\d)/; 
  • console.log(result); 
  • var re = /\d/; 
  • console.log(result); 
  • 返回结果:

    4.正则表达式执行返回信息

     

     
  • console.log(myArray); 
  • 代码中返回的结果如下:

    5.正则表达式标志

     

     
  • var myArray = str.match(re); 
  • console.log(myArray); 
  • 表达式一和表达式二返回的结果是一样的。都是下面的那个数组:

    以上就是本文的全部内容,希望对大家的学习有所帮助。


    注:相关教程知识阅读请移步到频道。

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • JavaScript学习总结之JS、AJAX应用

      JavaScript学习总结之JS、AJAX应用

      2016-02-06 15:02

    • 学习JavaScript设计模式之代理模式

      学习JavaScript设计模式之代理模式

      2016-01-25 17:02

    • javascript、jquery、AJAX总结

      javascript、jquery、AJAX总结

      2016-01-25 17:00

    • 今天开始应该使用 5 个JavaScript调试技巧

      今天开始应该使用 5 个JavaScript调试技巧

      2016-01-23 17:00

    网友点评