美文网首页
RegExp正则表达式

RegExp正则表达式

作者: 燕十六_09ab | 来源:发表于2019-02-28 12:45 被阅读0次

    RegExp作用:匹配一段特殊复杂的字符串。

    1.一些常用的元字符

    ^:匹配字符串的开始

    $:匹配字符串的结束

    \w:匹配任意字母数字下划线和汉字

    \d:匹配数字

    \b:匹配单词的开始和结束

    .:匹配除换行符以外的任意字符

    \s:匹配空白符

    []:匹配没有预定义元字符的字符集合 [0-9]==\d

    2.重复

    *:重复零次或者更多次

    +:重复一次或者更多次

    ?:重复零次或者一次

    {n}:重复n次

    {n,m}:重复n到m次

    3.转义字符  ----\

    如果你需要输出元字符的话,比如*.,你需要取消他们的特殊意义,这时就需要用\来转义来输出

    \n 换行,\r 换行,\t 制表符,\tab 制表符 。

    4.反义

    \W匹配任意不是字母,数字,下划线,汉字的字符

    \S匹配任意不是空白符的字符

    \D匹配任意非数字的字符

    \B匹配不是单词开头或结束的位置

    [^x]匹配除了x以外的任意字符

    [^aeiou]匹配除了aeiou这几个字母以外的任意字符

    5,分组,你可以用小括号来指定子表达式(也叫做分组)

    ip地址:(\d{1,3}\.){3}\d{1,3}      (\d{1,3}\.){3}匹配三位数字加上一个英文句号(这个整体也就是这个分组)重复3次,最后再加上一个一到三位的数字(\d{1,3})。

    6分歧条件,正则表达式里的分枝条件指的是有几种规则,如果满足其中任意一种规则都应该当成匹配,具体方法是用|把不同的规则分隔开

    0\d{2}-\d{8}|0\d{3}-\d{7}这个表达式能匹配两种以连字号分隔的电话号码:一种是三位区号,8位本地号(如010-12345678),一种是4位区号,7位本地号(0376-2233445)。

    7.例子

    1.\bhi\b   精确地查找hi这个单词

    2.\bhi\b.*\bLucy\b hi后面不远处跟着一个Lucy

    3\b\w{6}\b刚好6个字符的单词

    8懒惰限定符

    1*?重复任意次,但尽可能少重复

    2+?重复1次或更多次,但尽可能少重复

    3??重复0次或1次,但尽可能少重复

    4{n,m}?重复n到m次,但尽可能少重复

    5{n,}?重复n次以上,但尽可能少重复

    相关文章

      网友评论

          本文标题:RegExp正则表达式

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