美文网首页
正则表达式

正则表达式

作者: 低吟浅唱1990 | 来源:发表于2016-05-26 14:36 被阅读41次

正则表达式

基本规则

<ol>
<li>普通字符

字母、数字、汉字、下划线以及都变章节没有特殊定义的标点符号,都是普通字符。表达式“c”,在匹配“abcde”是,匹配成功。</li>
<li>简单的转义字符

匹配特殊字符和转义字符是需要添加“\”。“^”匹配“^”。 表达式“$d”,在匹配“abc$de”时,匹配成功,匹配到的内容是“$d”,位子是开始于3,结束语5
</li>
<li>能够与多种字符匹配的表达式


"\d":任意一个数字,0~9中任意一个

"\D":匹配所有的非数字字符;

"\w":任意一个字母、数字或下划线,也就是AZ、az、0~9和_中任意一个;

"\W":用于匹配所有"\w"不匹配的字符

"\s":包括空格、制表符、换页符等空白字符之中的任意一个

"\S":用于匹配除单个空格符之外的所有字符

".":小数点可以匹配除了换行符以外的任意字符
</li>
<li>
自定义能够匹配多种字符的表达式

[ ]包含一系列字符,能够匹配其中任意一个字符。[^]包含一系列字符,能够匹配其中字符之外的任意一个字符。只能匹配其中一个
不是多个

"[ab5@]":能够匹配a、b或5、@。
"[^abc]":能够匹配a、b、c之外的任意一个字符
"[f-k]":匹配f-k之间的任意一个字母
"[^A-F0-3]":匹配A-F、0-3之外的任意一个字符
</li>
<li>
修饰匹配次数的特殊符号

使用方法:“次数修饰”放在“被修饰的表达式”后边

"{n}":表达式重复n次。比如:"\w{2}":相当于"\w\w","a{5}"相当于"aaaaa"。

"{m,n}":表达式至少重复m次,最多重复n次."ba{1,3}"相当于"ba","baba","bababa"

"{m,}":表达式至少匹配m次
"?":匹配表达式0次或者1次,相当于{0,1},比如:"a[cd]?"可以匹配"a","ac","ad"

"+":表达式至少出现1次,相当于{1,}。"a+b"可以匹配"ab","aab"等
"*":表达式不出现或者出现任意次数。
</li>
<li>其他代表抽象意义的特殊符号

"^"字符串开始的地方匹配,不匹配任何字符
"$"与字符串结束的地方匹配,不匹配任何字符
"\b"匹配一个单词边界。也就是单词和空格之间的位置,不匹配任何字符。
"\B"匹配非单词边界。即左右两边都是"\w"范围或者左右两边都不是
"|"表示左右两边表达式之间的“或”关系,匹配左边或者右边
"()"括号中的表达式可以作为整体被修饰。

例如:

"^aaa"在匹配"xxx aaa xxx"是失败的。"aaa"不在字符串开始的位置。匹配"aaaxxxxx"成功
</li>
</ol>

一些高级规则

<ol>
<li>匹配次数中的贪婪与非贪婪

匹配不定次数的表达式在匹配过程中,总是尽可能多的匹配

例如在匹配文本"dxxxdxxxd"时,"(d)(\w+)"其中"\w+"将匹配第一个"d"之后的所有字符

"(d)(\w+)(d)"其中"\w+"匹配"xxxdxxx"

如果在修饰匹配次数的特殊符号后再加上一个"?",则使匹配不定次数的表达式尽可能少的匹配,是可匹配可不匹配的表达式,尽量不匹配
</li>
<li>反向引用

表达式在匹配是,表达式引擎会将小括号"()"包含的表达式所匹配到的字符串记录下来。在获取匹配结果的时候,小括号包含的表达式
所匹配的字符串可以单独获取。引用方法""再加上一个数字。"\1"表示引用第1对括号内匹配到的字符串

例如:“('|")(.*?)(\1)” 在匹配“'hello',"World"”是匹配成功。匹配到的第一个内容是“'Hello'”
</li>
</ol>

正则表达式举例

<pre>
1.校验密码强度
密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间
^(?=.\d)(?=.[a-z])(?=.*[A-Z]).{8,10}$
2.校验中文
^[\u4e00-\u9fa5]{0,}$

  1. 由数字、26个英文字母或下划线组成的字符串
    ^\w+$
    4.校验E-Mail地址
    [\w!#$%&'+/=?^_{|}~-]+(?:\.[\w!#$%&'*+/=?^_{|}~-]+)@(?:\w?.)+\w?
    5.校验身份证
    ^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$
    6.“yyyy-mm-dd“ 格式的日期校验
    ([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))
    7.校验金额
    ^[0-9]+(.[0-9]{2})?$
    </pre>

相关文章

  • Linux命令行与Shell脚本编程大全-shell正则表达式

    本章内容: 定义正则表达式 了解基本正则表达式 扩展正则表达式 创建正则表达式 定义正则表达式 正则表达式是你定义...

  • 正则相关

    正则表达式基本语法 正则表达式常见字符 正则表达式特殊字符 正则表达式数量词 正则表达式边界匹配 正则表达式逻辑或...

  • 正则表达式系列-1

    正则表达式系列-1正则表达式系列-2正则表达式系列-3正则表达式系列-4 什么是正则表达式 正则表达式就是用事先定...

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

  • Python基础入门 - 正则表达式与综合实战

    1. 初识正则表达式 1.1 介绍 步骤介绍正则表达式入门及应用正则表达式的进阶正则表达式案例 1.2 正则表达式...

  • Java正则表达式参考

    Java正则表达式入门 java正则表达式应用 深入浅出之正则表达式(一) 深入浅出之正则表达式(二) 正则表达式...

  • 正则表达式

    正则表达式 正则表达式就是记录文本规则的代码 正则表达式常用的元字符 正则表达式常用的限定符 正则表达式举例:这里...

  • Python爬虫(十)_正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • python正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • 正则表达式

    了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于...

网友评论

      本文标题:正则表达式

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