正则表达式

正则表达式,又称规则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个”规则字符串”,这个”规则字符串”用来表达对字符串的一种过滤逻辑。通常被用来检索、替换那些符合某个模式(规则)的文本。

[abc]abc(简单类)

[^abc]:任何字符,除了 abc(否定)

[a-zA-Z]azAZ,两头的字母包括在内(范围)

.:任何字符(与行结束符可能匹配也可能不匹配)

\d:数字: [0-9]

\D:非数字: [^0-9]

\s:空白字符: [ \t\n\x0B\f\r]

\S:非空白字符: [^\s]

\w:单词字符: [a-zA-Z_0-9]

\W:非单词字符: [^\w]

\p{Lower}小写字母字符:[a-z]

\p{Upper}大写字母字符:[A-Z]

\p{ASCII}所有 ASCII:[\x00-\x7F]

\p{Alpha}字母字符:[\p{Lower}\p{Upper}]

\p{Digit}十进制数字:[0-9]

\p{Alnum}字母数字字符:[\p{Alpha}\p{Digit}]

\p{Punct}标点符号:!”#$%&'()*+,-./:;

\p{Blank}空格或制表符:[ \t]

^:行的开头

$:行的结尾

X ?X,一次或一次也没有

X *X,零次或多次

X +X,一次或多次

X { n }X,恰好 _n_次

X { n ,}X,至少 _n_次

X { n , m }X,至少 _n_次,但是不超过 _m_次

XYX_后跟 _Y

X | YX_或 _Y

( X ):X,作为捕获组

(?:X) X,作为非捕获组

(?=X) X,通过零宽度的正 lookahead

(?!X) X,通过零宽度的负 lookahead

(?

(?

(?>X) X,作为独立的非捕获组

  • 验证用户名和密码,要求第一个字必须为字母,一共6~16位字母数字下划线组成:(^[a-zA-Z]\w{5,15}$)
  • 验证电话号码:xxx/xxxx-xxxxxxx/xxxxxxxx:(^(\d{3,4}-)\d{7,8}$)
  • 验证手机号码:( ^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$ )
  • 验证身份证号: (^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)
  • 验证Email地址:(^\w+([-+.]\w+) @\w+([-.]\w+).\w+([-.]\w+)*$)
  • 只能输入由数字和26个英文字母组成的字符串:(^[A-Za-z0-9]+$)
  • 整数或者小数:(^[0-9]+(.[0-9 ]+){0,1}$)
  • 中文字符的正则表达式:([\u4e00-\u9fa5])
  • 金额校验(非零开头的最多带两位小数的数字):(^([1-9 ][0-9]*)+(.[0-9]{1,2})?$)
  • IPV4地址:(((\d{1,2})|(1 \d{1,2})|(2[0-4]\d)|(25[0-5])).){3}((\d{1,2})|(1 \d{1,2})|(2[0-4]\d)|(25[0-5]))

Original: https://www.cnblogs.com/CYan521/p/16424103.html
Author: 再美不及姑娘你
Title: 正则表达式

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/715327/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 【考研】C语言

    考研C语言 收录数据结构会用到的C语言知识,建议有基础的情况下再学习,针对性学习即可。 往后的学习要多从内存角度去学习计算机的知识 1. 数组 1.1 一维数值数组 具备相同的数据…

    技术杂谈 2023年7月10日
    084
  • IDEA 文件列表隐藏某后缀文件

    preferences -> Editor -> File Types -> ignore files and folders 添加后缀类型如: *.meta O…

    技术杂谈 2023年5月30日
    0102
  • 常用正则表达式

    1.提取字符串中所有数字字符 1 // convert text to int ignoring all non-numerical characters 2 public str…

    技术杂谈 2023年7月23日
    084
  • 利用DbgHelp获取线程的栈回溯信息

    当线程发生异常时,我们如果可以记录下来异常线程的堆栈信息,那么对于我们后续问题处理将会有极大的帮助。这里记录一个操作方法。 1 #include 2 #include 3 #inc…

    技术杂谈 2023年7月11日
    078
  • Ribbon、Feign和OpenFeign的区别

    RibbonRibbon 是 Netflix开源的基于HTTP和TCP等协议负载均衡组件Ribbon 可以用来做客户端负载均衡,调用注册中心的服务Ribbon的使用需要代码里手动调…

    技术杂谈 2023年5月31日
    0105
  • QMake 项目获取 Windows 管理员权限

    QMAKE_LFLAGS += /MANIFESTUAC:"level=’requireAdministrator’uiAccess=’false’" 将以上那…

    技术杂谈 2023年6月21日
    095
  • Clickhouse上用OrderBy保证绝对正确结果但代价是性能

    一些聚合函数的结果跟流入数据的顺序有关,CH文档明确说明这样的函数的结果是不确定的。这是为什么呢?让我们用 explain pipeline来一探究竟。 以一个很简单的查询为例: …

    技术杂谈 2023年7月24日
    065
  • Game Engine Architecture 4

    【 Game Engine Architecture 4】 1、a model of multiple semi-independent flows of control simp…

    技术杂谈 2023年5月31日
    093
  • dom4j解析xml字符串实例

    DOM4J 与利用DOM、SAX、JAXP机制来解析xml相比,DOM4J 表现更优秀,具有性能优异、功能强大和极端易用使用的特点,只要懂得DOM基本概念,就可以通过dom4j的a…

    技术杂谈 2023年5月31日
    089
  • [AWS] Solve Error: User is not authorized to access this resource

    When use AWS API gateway with lambda authorizer, you may get 403 Forbidden error code with…

    技术杂谈 2023年5月30日
    089
  • C7N 操作当前 table cell

    场景: 在 C7N table 组件中,实现 cell 中的内容,双击展开或收起 思路: 通过 onCell 方法实现 方案: Original: https://www.cnbl…

    技术杂谈 2023年5月30日
    0105
  • 8089汇编 源程序

    8089汇编 源程序 汇编程序:包含汇编指令和伪指令的文本。 汇编语言由汇编指令和伪指令构成,想要组合成源程序进行编译就需要这么做。 汇编指令 对应有机器码的指令,可以被编译为机器…

    技术杂谈 2023年6月1日
    095
  • Spring事务(三)-事务传播行为

    在Spring里,一个事务方法被另外一个事务方法调用时,两个方法的事务应该如何进行,说白话一点,就是说当出现异常需要回滚时,各个方法的数据操作是否要全部回滚,事务传播行为就是决定了…

    技术杂谈 2023年7月11日
    082
  • 查询优化点?

    避免查询无关的列,如使用Select * 返回所有的列。 避免查询无关的行 切分查询。将一个对服务器压力较大的任务,分解到一个较长的时间中,并分多次执行。如要删除一万条数据,可以分…

    技术杂谈 2023年5月31日
    095
  • Spring 源码学习笔记11——Spring事务

    Spring事务是基于Spring Aop的&a…

    技术杂谈 2023年7月25日
    094
  • (转)白话数字签名(1)——基本原理

    摘要本系列通过通俗易懂的讲解,让您就像读小说一般,轻轻松松就能理解数字签名的基本原理和应用方法(即使您是一个并不精通计算机的企业老总,也能读懂本篇文章)。然后我们再逐步深入技术细节…

    技术杂谈 2023年7月10日
    087
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球