博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java基础知识: day7-正则表达式
阅读量:6615 次
发布时间:2019-06-25

本文共 919 字,大约阅读时间需要 3 分钟。

概念

正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE),又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。(来自维基百科)

它几乎在所有语言都可以使用,包括但不限于java,JavaScript,c#等都有提供想对应的接口/函数来支持。

基础语法

元字符
符号 含义
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的介绍

例子:

1.匹配9个任意数字的字符串: \d\d\d\d\d\d\d\d\d2.匹配aba开头,c结尾的字符串: ^aba.*c$复制代码
限定符
符号 含义
+ 重复1次或者更多次(包含1次,多次)
* 重复0次或者更多次(包含0次,1次,多次)
? 重复0次或者1次(包含0次,1次)
{n} 重复n次
{n,} 重复n次或者更多次
{n,m} 重复n到m次(长度范围)

例子:

1.匹配9个任意数字的字符串: \d{9}2.匹配aba开头,多个c结尾的字符串: ^abac*$3.匹配银行卡号,14-18位数字: ^\d{14,18}$复制代码
其他符
符号 含义
() 分组符
\ 转义符
| 表示或
[] 表示区间

例子:

1.匹配多个mar的字符串: ^(mar)*2.匹配多个(mar)的字符串: ^(\(mar\))*3.匹配13,15,17,18,19开头的手机号码: ^(13|15|17|18|19)\d{9}$4.匹配1-3开头的11位数字: ^[1-3]\d{10}$5.匹配13,15,17,18,19开头的手机号码: ^(13[0-9]|15[0-9]|17[0-9]|18[0-9]|19[0-9])\d{8}$复制代码

转载于:https://juejin.im/post/5c9b19ed6fb9a070c02305c8

你可能感兴趣的文章
快速掌握Redis——第二招:安装
查看>>
从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式(一)
查看>>
Windows 10之 隐藏“此电脑”窗口的6个额外文件夹
查看>>
15.1异常处理
查看>>
HAProxy负载均衡web服务
查看>>
初学者学习Linux之NFS
查看>>
Rabbitmq学习(一) Rabbitmq初探
查看>>
8月第一周B2B类网站排名:阿里巴巴持续领先
查看>>
IDC评述网:12月下旬国内域名注册商净增量Top10
查看>>
5月第一周全球域名解析商Top15:万网升至第7名
查看>>
架构优化 - 应用,MQ Broker,业务处理分层
查看>>
3月第3周网络安全报告:被篡改.COM网站占74.3%
查看>>
Spring Security之用户名+密码登录
查看>>
java JSplitPane设置比例
查看>>
批量操作Windows域用户
查看>>
shell脚本 接受用户参数 记录一下
查看>>
健脾祛湿的中成药有哪些?
查看>>
mongodb Index(2)
查看>>
HTML DOM 基本操作
查看>>
IIS下支持下载.exe文件
查看>>