• 正则表达式


    正则表达式通常用于匹配字符是否满足某一标准

    比如我这边一个输入框,你要如何形容只能有数字?只能是大写拼音?

    这就有了正则表达式

    1.[]

    [abc]:这个字符可以是a或b或c
    [a-z] :表示任意一个小写字母
    [a-zA-Z] :表示任意一个字母
    [a-zA-Z0-9_] :表示任意一个数字字母下划线
    [^abc] :该字符只要不是a或b或c

    2.预定义字符

    . :表示任意一个字符,没有范围限制
    \d :表示任意一个数字,等同于[0-9]
    \w :表示任意一个单词字符,等同于[a-zA-Z0-9_]–单词指字母/数字/_
    \s :表示任意一个空白字符
    \D :表示不是数字
    \W :不是单词字符
    \S :不是空白字符

    3.量词

    ?:表示前面的内容出现0-1次
    例如: [abc]? 可以匹配:a 或 b 或 c 或什么也不写
    +:表示前面的内容最少出现1次
    例如: [abc]+ 可以匹配:b或aaaaaaaaaa…或abcabcbabcbabcba…
    但是不能匹配:什么都不写 或 abcfdfsbbaqbb34bbwer…
    *:表示前面的内容出现任意次(0-多次)—匹配内容与+一致,只是可以一次都不写
    例如: [abc]* 可以匹配:b或aaaaaaaaaa…或abcabcba…或什么都不写
    但是不能匹配:abcfdfsbbaqbb34bbwer…
    {n}:表示前面的内容出现n次
    例如: [abc]{3} 可以匹配:aaa 或 bbb 或 aab 或abc 或bbc
    但是不能匹配: aaaa 或 aad
    {n,m}:表示前面的内容出现最少n次最多m次
    例如: [abc]{3,5} 可以匹配:aaa 或 abcab 或者 abcc
    但是不能匹配:aaaaaa 或 aabbd
    {n,}:表示前面的内容出现n次以上(含n次)
    例如: [abc]{3,} 可以匹配:aaa 或 aaaaa… 或 abcbabbcbabcba…
    但是不能匹配:aa 或 abbdaw…

    4.用于分组(),括号内的为一个整体

    (abc){3} 表示abc整体出现3次. 可以匹配abcabcabc
    但是不能匹配aaa 或abcabc

    (abc|def){3} 表示abc或def整体出现3次.
    可以匹配: abcabcabc 或 defdefdef 或 abcdefabc
    但是不能匹配abcdef 或abcdfbdef

    5.^符

    当^在[]中表示集合的取反,比如[^abc]表示不含a、b、c的

    当在外边的时候表示开始,比如^abc表示以abc为开头的字符,比如abc123

    [^0-9]表示不为数字

    6.特别情况

    1.个别字符如. * +你要固定使用,比如在邮箱.com中,使用.需要转义为\.

    2.$和^相反,匹配的是字符的结尾

    3.断言:

    • (?=.*[a-z]):断言接下来的字符中至少有一个小写字母。
    • (?=.*[A-Z]):断言接下来的字符中至少有一个大写字母。
    • (?=.*\d):断言接下来的字符中至少有一个数字。
    • (?=.*[\W_]):断言接下来的字符中至少有一个特殊字符(非字母、数字或下划线,\W 匹配非单词字符,包括特殊字符)。

    4.\b和\B匹配单词边界和非单词边界,比如

    • \bis\b 只匹配单词 "is",而不会匹配 "This" 中的 "is"。
    • \Bis\B 会匹配 "This" 中的 "is",因为 "is" 前后的字符("h" 和空格)都是非单词字符。

    实力测试,看看学完上面的后下面给你的问题你能不能接住~

    1.只能是数字

    2.只能是大小写字母并且是6-10位

    3.必须有大小写字母和数字且含有特殊字符,在8-12位

    4.必须以1-5个小写字母开头,以@符号结尾,总长度不大于16个字符

    答案在下面~~

    ——————————————————————————————----

    ————————————————————————————————————-

    ——————————————————————————————————————————

    答案仅参考,不唯一

    ^\d+$

    ^[a-zA-Z]{6,10}$

    (?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_])[a-zA-Z\d\W_]{8,12}$


    ^[a-z]{1,5}.*@.{0,9}$
     

    参考博文:正则表达式(常用版)-CSDN博客

  • 相关阅读:
    Inno Setup安装中文语言
    延误件如何筛选 物流查询分享查询方法筛选延误三天以上物流件
    WLAN网络配置,vlan内漫游
    HQChart实战教程66-动态调整HQChart布局大小
    【Java网络编程】
    车企竞相“入股”元宇宙,美格智能着力打造制胜秘诀
    java:数组缩减
    电力作业虚拟仿真培训教学平台的功能及特色介绍
    第十三届蓝桥杯 C++ B 组省赛 G 题———积木画(AC)
    OpenResty学习笔记03:再探WAF
  • 原文地址:https://blog.csdn.net/qq_52368602/article/details/139642335