栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

JavaWeb之正则表达式详解

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaWeb之正则表达式详解

什么是正则表达式
  • 正则表达式是检查,匹配字符串的表达式
  • 正则表达式是描述规则,主流语言都有良好支持
  • 字符串校验,查找与替换是正则表达式主要使用场景

例如 一个检查输入身份证是否合法的案例
一个人的身份证有18位 例如 13010220200328091x
如果这个让我们用普通的程序思路来校验的话,就会费一些功夫,但是如果我们用正则表达式来做的话,就非常简单了
正则表达式:(^d{15}$)|(^ld{18}$)|(^d{17}(d|X|x)$) 这样是不是就一句话就搞定呢了,接下来,我们来了解一下正则表达式

正则表达式测试所用工具连接: 正则表达式在线测试工具

正则表达式基础语法 字符范围匹配
正则表达式说明正确错误
A精准匹配单个字符Aa
x|y允许出现的2个字符yn
[xyz]字符集合,允许出现集合内任意单个字符zc
[a-z]
[A-Z]
[0-9]
字符范围a
D
8
A
a
A
[^xyz]
[^0-9]
集合内字符不允许出现0
A
y
8

注:正则表达式中区分大小写

元字符
正则表达式说明正确错误
d匹配任意单个数字8i
D匹配d规则之外的任意单个字符i8
w匹配任意单个字母数字下划线Y&
W匹配w之外的任意单个字符&Y
s匹配单个空格x
n匹配单个换行符x
.匹配任意单个字符(换行符除外)––
.特殊字符,只匹配 ..1
多次重复匹配
正则表达式说明正确错误
A {3}精准N次匹配AAAAA
A {3,}最少出现N次AAAAA
d {3,5}约定出现最少次数与最大次数123412
d *可以出现零次至无限次,相当于{0,}1234–
d +最少出现一次,相当于{1,}12
d ?最多出现一次,相当于{0,1]112
定位匹配
正则表达式说明正确错误
^ A.*头匹配ABCCBA
.*A $尾匹配CBAABC
^ A.* $全字匹配ACCCAACCCB
贪婪模式与非贪婪模式 贪婪模式
  • 在满足条件的情况下尽可能多匹配到字符串

示例: 111222333 正则: d{6,8}
匹配结果: 11122233

贪婪模式是正则表达式的默认匹配规则

非贪婪模式
  • 在满足条件的情况下尽可能少匹配到字符串

示例: 111222333 正则: d{6,8}?
匹配结果: 111222

取决于用什么模式的关键是 ? 号

举个例子 我们要提取一个字符串中的网址,如果用贪婪模式

这样就不是我们预期想要的需求,我们使用非贪婪模式

分组表达式
  • 分组将 “正则” 分组为多个子表达式
  • 示例: abababcdcdcd
  • 正则表达式: (ab){3}(cd){3}

正则表达式支持使用unicode编码来表达特殊的字符,如[u4e00-u9fa5] 这个就是匹配单个汉字的区间

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/955075.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号