正则表达式

正则表达式,又称规则表达式(英语: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)

大家都在看

  • 高质量代码的特征

    回想起来,我觉得我们似乎在误读Uncle Bob的Clean Code,至少我们错误地将所谓Clean与可读性代码简单地划上了等号。尤为不幸的是,在Clean Code一书中,从第…

    技术杂谈 2023年5月31日
    0110
  • Merge into的使用详解-你Merge了没有

    Merge是一个非常有用的功能,类似于Mysql里的insert into on duplicate key. Oracle在9i引入了merge命令,通过这个merge你能够在一…

    技术杂谈 2023年6月1日
    097
  • 常见API使用

    String类 字符串相关的类 Java程序中的所有字符串文字(例如”abc”)都实现为此类的实例 字符串是不变的 他们的值在创建后无法更改 Date类 D…

    技术杂谈 2023年6月21日
    082
  • 跨境电商独立站怎么做

    独立站一般是指商家自己搭建的跨境电商网站。跨境电商独立站拥有独立域名,内容、数据、权益私有,脱离第三方电商平台束缚,不仅可以进行多个渠道、多个方式的网络曝光和推广,并且推广所带来的…

    技术杂谈 2023年5月31日
    0106
  • Node节点禁止调度(平滑维护)方式- cordon,drain,delete

    cordon、drain和delete三个命令都会使node停止被调度,后期创建的pod不会继续被调度到该节点上,但操作的暴力程度却不一样。 一、cordon 停止调度(不可调度,…

    技术杂谈 2023年5月30日
    081
  • 精通正则表达式系列

    这是正则表达式从入门学习到深入掌握各种技巧的教程系列,使用了不同语言描述,但对于正则理念来说是完全通用的。最后还差一篇正则性能优化的文章,有机会再补上。 我已经录了正则表达式的两门…

    技术杂谈 2023年5月31日
    0125
  • Vue-点击注销清除清除localStorage缓存

    最近在写一个vue项目时需要用到注销按钮,判断是否登录的条件是浏览器保存了用户token,点击注销清除localStorage缓存。实现用户注销 在localStorage中储存数…

    技术杂谈 2023年5月31日
    091
  • 双绞线

    双绞线简介 双绞线(twisted pair,TP)是一种综合布线工程中最常用的传输介质,双绞线一般由两根22~26号绝缘铜导线相互缠绕而成,在一个电缆套管里的,不同线对具有不同的…

    技术杂谈 2023年7月11日
    071
  • 聊聊消息队列(MQ)那些事

    每年的双十一期间,各大电商平台流量暴增,同时,电商平台系统的负载压力也会很大。譬如订单支付的场景,每个订单支付成功后,服务器可能要完成扣减积分、扣减优惠券、扣减商品库存、发短信等一…

    技术杂谈 2023年7月11日
    0113
  • SOLR查询匹配关键词的方式

    如果在字段后直接写关键词,solr对条件关键词分词后,各分词之间按照OR的关系进行匹配 如果查询条件关键词用半角双引号括叫起来,则分词间用AND关系进行匹配 尽管使用双引号括起来,…

    技术杂谈 2023年5月31日
    0108
  • Java — 反射

    程序在运行中也可以获取类的变量和方法信息,并通过获取到的信息来创建对象。程序不必再编译期就完成确定,在运行期仍然可以扩展。 示例:学生类 public class Student …

    技术杂谈 2023年7月11日
    073
  • 跨站脚本攻击XSS:为什么cookie中有httpOnly属性

    通过上篇文章的介绍,我们知道了同源策略可以隔离各个站点之间的 DOM 交互、页面数据和网络通信,虽然严格的同源策略会带来更多的安全,但是也束缚了 Web。这就需要在安全和自由之间找…

    技术杂谈 2023年5月31日
    0125
  • Xamarin 跨移动端开发系列(01) — 搭建环境、编译、调试、部署、运行

    (本文是基于老版本的VS和Xamarin,而VS2017已经集成了Xamarin,所以,本文已经过时,最新的Xamarin开发介绍请参见 使用 Xamarin开发手机聊天程序 。)…

    技术杂谈 2023年6月1日
    0103
  • InnoDB中不同SQL语句设置的锁

    锁定读、UPDATE 或 DELETE 通常会给在SQL语句处理过程扫描到的每个索引记录上设置记录锁。语句中是否存在排除该行的WHERE条件并不重要。InnoDB不记得确切的WHE…

    技术杂谈 2023年7月24日
    065
  • HBase1.4.6安装搭建及shell命令使用

    HBase1.4.6安装搭建 HBase1.4.6安装搭建 一、前期准备(Hadoop,zookeeper,jdk) 搭建Hbase 1、上传解压 2、配置环境变量 3、修改hba…

    技术杂谈 2023年7月11日
    090
  • Docker安装Mysql

    安装 权威的都在官方: https://registry.hub.docker.com/ 先看看官方文档1、搜索mysql镜像2、找到对应镜像3、根据版本复制对应版本镜像拉取命令4…

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