正则

作者: 冰激凌_db91 | 来源:发表于2017-03-08 21:35 被阅读0次

    1:先列出一些看不懂的:特殊字符。 \ ^$.+?()[]|所有列出的字符都有特殊含义。如果想使用这些符号在正则表达式里面,那就必须要转义用/.
    2:数字 \d ==[0-9]..\D==[^0-9].匹配任意的非数字。
    3:字母数字字符:\w匹配任何的拉丁数字和下划线[a-zA-Z0-9]\w:和前面匹配的相反。
    4:\s匹配空白字符(空格,制表符,换行符,回车符,翻页符合所有的Unicode)\S匹配所有的非空白字符。
    5:$匹配输入字符串结束的位置。
    6:^匹配输入字符串开始的位置。
    7:
    匹配前面的东西出现零次或多次。=={0,}
    8:+匹配前面出现最少一次。=={1,}
    9:?匹配前面出现了一次或零次=={0,1}
    10:{n}n是正整数,匹配确定的n次。
    11:{n,m}最少匹配n次,最多m次
    12:{n,}匹配最少n次。
    13:?当该字符紧跟在其他任何一个限制字符的后面,匹配的是非贪婪的,他会尽可能少的匹配搜索到的字符串。而默认的贪婪模式则会尽可能多的匹配所搜索到的字符。
    14:. 匹配除\n以外的任何单字符。要匹配出包括包括\n在内的字符,请使用[.\n]的形式。
    15:x|y匹配x或y。z|food (z|f)ood.
    16:[xyz]字符合集,匹配所包含的任何一个字符。
    17:[^xyz];
    18: \b匹配一个单词边界。也就是指单词和空格键的位置。er\b 匹配never 不匹配verb.
    19: \B匹配非单词边界。
    20:如果想要动态的拼装正则表达式,那就要使用构造函数。
    21:正则表达式函数的实例属性如下:
    1:标识:g/全局 i/忽略大小写 m/多行匹配 。
    2: .test()方法:查找是否匹配。参数是要匹配的字符串。
    3:.search():发挥发现匹配的位置索引。他的参数是正则表达式
    4:.exec()捕获分组。首先要看的是他的形式。var reg=/aa/;reg.exec(str);
    这个函数通过提供的字符串进行一次匹配检测,获取字符串的第一个与正则表达式的内容,并将匹配的内容与子匹配的结果返回存放在数组中。
    .match()捕获分组或返回所有匹配的子字符串。 var reg=/an/ str.match(reg);
    5:先说一个概念:正则的子组表达式。子组通过圆括号分割界定,并且可以嵌套。主要有两个作用:将可选分支局部化。将子组设为捕获子组。当整个模式匹配后。目标字符串中的部分将会通过exex()的ovector参数回传给调用者。如果字符串 ”the red king” 使用模式((red|white) (king|queen)) 进行匹配, 模式匹配到的结果是 array(“red king”, ”red king”, “red”, “king”) 的形式, 其中第 0 个元素是整个模式匹配的结果,后面的三个元素依次为三个子组匹配的结果。 它们的下表分别为 1, 2, 3。如果字符串 ”the white queen” 匹配模式 ((?:red|white) (king|queen)),匹配到的结果会是 array(“white queen”、“white queen”、“white queen”),的和 king|queen 这两个子组。
    6:对比:1、当正则表达式无子表达式,并且定义为非全局匹配时,exec和match执行的结果是一样,均返回第一个匹配的字符串内容
    2.当正则表达式无子表达式,并且定义为全局匹配时,exec和match执行,做存在多处匹配内容,则match返回的是多个元素数组
    3.还有其他的不了解了。
    7:.replace(search,repace)找到seearch,(正则表达式;注意用g符号不然只会匹配一次正则表达式)替换为replace.1:当他为字符串的时候,会替换为字符串,唯一例外的就是字符美元符号。他会启动所谓的替换指令。2:当这个参数为函数的时候,他会对匹配到的字符串进行处理,该函数具有以下签名。
    8:关于g的一些注意事项:当表达式设置了g,那么有些方法必须多次调用才能返回所有结果,这时可能会有问题。test(),exec().方法。
    9:空的正则可以匹配一切。/.^/则是什么都不匹配。
    10:.匹配除了行结束符以外的一切字符。使用[\s\S]可以匹配一切字符。
    一些常见的正则表达式:
    1:匹配汉字:[\u4e00-\u9fa5]
    2:[\w!#$%&'+/=?^_{|}~-]+(?:\.[\w!#$%&'*+/=?^_{|}~-]+)@(?:\w?.)+\w? email \w[-\w.+]@([A-Za-z0-9][-A-Za-z0-9]+.)+[A-Za-z]{2,14}email
    /^a-z
    @([a-z0-9][-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?$/I email "^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)$
    3:用户名:^[a-zA-Z]\w{5,15}$
    4:电话:"^(\d{3,4}-)\d{7,8}$
    5:手机:^1[3|4|5|7|8][0-9]\d{8}$
    6:身份证:\d{14}[[0-9],0-9xX]
    7:^[0-9]*$只能数字

    相关文章

      网友评论

          本文标题:正则

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