正则表达式基础知识

                   正则表达式基础知识

文献种类:专题技术
开发工具与关键技术: vs与c#正则表达式
作者:吴新洋 ; 撰写时间 2019 年 4 月 1 日
文献编号 ; 归档时间 年 月 日

  • 普通字符:所有大小写字母,所有数字,标点符号和其他符号。
  • 非打印字符:
    \f:匹配一个换页符。
    \n:匹配一个换行符。
    \r:匹配一个回车符。
    \s:匹配空白字符,如空格,制表符,换页符。
    \t:匹配一个制表符。
    \v:匹配一个垂直制表符。
    \w:匹配字母,汉字,下划线的字符。
  • 特殊字符:包含特殊意义的字符,如果匹配这些字符则需要转义,将字符(\)
    写在他们前面
    $:匹配字符串的结尾处。
    :匹配一个子表达式零次或多次,匹配用*。
    +: 匹配一个子表达式一次或多次,匹配+用+。
    .:匹配除换行符以外的任意单字符,匹配.用.。
    [:标记一个中括号表达式开始,匹配[用[。
    ?:匹配前面表达式零次或一次,匹配?用\?。
    :将下一个字符标记或特殊字符或后项引用。
    ^:匹配输入字符串开始位置,
    {:标记限定符表达式的开始,
    |:指明两项之间的一个选择。
    *限定符
    {n}:n是一个非负整数,匹配n次,列如,’o{2}’ 不能匹配boy中的o,但能匹配Boos中的两个o。
    {n,}::n是一个非负整数,至少匹配n次,列如,’o{2}’ 不能匹配boy中的o,
    但可以匹配Boooooo中的o。
    {n,m}:n和m都是非负整数,n<m,最少匹配n次,最多匹配m次。;列如,”o{1,3}”将匹配booooos中的前三个。
    *定位符
    \b匹配一个字边界。
    \B非字界匹配。
    *反义:
    \W:匹配任意不是字母,数字,下划线,汉字的字符 ,等价[^A-Za-z0-9]。
    \S:匹配任意不是空白符的字符。
    \D:匹配任意非数字的字符。
    \B:匹配不是单词开头或结束的位置。
    [^m]:匹配除了m以外的任意字符。

*零宽断言

(?=exp):匹配exp前面的位置。
(?<=exp):匹配exp后面的位置。
(?!exp):匹配后面跟的不是exp的位置。
(?<!exp):匹配前面不是exp的位置。
举例:(?=exp)叫零宽度正预测先行断言,它断言自身出现的位置的后面能匹配表达式exp。比如\b\w+(?=sb\b),匹配以sb结尾的单词的前面部分(除了ing以外的部分),如查找affafaf singsb dsfg yohhure dancsb.时,它会匹配sing和danc。
举例:(?<=exp)也叫零宽度正回顾后发断言,它断言自身出现的位置的前面能匹配表达式exp。比如(?<=\bsb)\w+\b会匹配以re开头的单词的后半部分(除了re以外的部分),例如在查找sbding fhhh hhh时,它匹配ding。
*贪婪与懒惰

*?:重复任意次,但尽可能少的重复。
+?:重复1次或更多次,但尽可能少的重复。
??:重复1次或0次,但尽可能少的重复。
{n,m}?:重复重复你n到m次,但尽可能少的重复。尽可能少的重复。
{n,}?:重复n次以上,但尽可能少的重复。

常用正则表达式:
只能输入汉字:"1{0,}KaTeX parse error: Expected group after '^' at position 18: … 只能输入5~9位的数字:。"^̲\d{5,9"。
验证用户密码:"2\w{5,17}KaTeX parse error: Expected group after '^' at position 25: …位。 只能输入非零的正整数:"^̲\+?[1-9][0-9]*"。
只能输入零和非零开头的数字:"^(0|[1-9][0-9]
) &quot; 。 只 能 输 入 长 度 为 5 的 字 符 : &quot; . 5 &quot;。 只能输入长度为5的字符:&quot;^.{5} "5".5"。
只能输入至少9位的数字:"^\d{9,} &quot; 只 能 输 入 零 和 非 零 开 头 的 数 字 : &quot; ( 0 ∣ [ 1 − 9 ] [ 0 − 9 ] ∗ ) &quot; 只能输入零和非零开头的数字:&quot;^(0|[1-9][0-9]*) ""(0[19][09])"。
验证身份证号(15位或18位数字):"^\d{15}|\d{18}$"。


  1. \u4e00-\u9fa5 ↩︎

  2. a-zA-Z ↩︎

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值