首页 问答 文章
登陆
登陆 注册新账号
注册
已有账号登陆
正则表达式
2019-02-28 18:22:05.0

行的开始和结束 开始符号:^ 结束符号:$ 如:^cat 应该理解为以c作为一行的第一个字符,紧接着是a,然后是t 例如:String str = "catabdcatdetfcat"

^cat : 验证该行以c开头紧接着是a,然后是t cat$ : 验证该行以t结尾倒数第二个字符为a倒数第三个字符为c ^cat$: 以c开头接着是a->t然后是行结束:只有cat三个字母的数据行 ^$ : 开头之后马上结束:空白行,不包括任何字符 ^ : 行的开头,可以匹配任何行,因为每个行都有行开头

字符组:[]表示:"或" 如:[abc]:a或者b或者c 例如:String str = "My Name is YangKai"; a[mn] : 查找a后面是m或者n的单词 [Nn][ag] : 查找N或者n后面是a或者g的单词

字符组内的连字符:- 表示:范围从开始到结束, 连字符'-'只有出现在字符组内部的时候才是连字符,其他情况只表示字符:"-"没有特殊意义 如果字符'-'出现在字符组内的第一个位置或者出现在字符组内的脱字符"^"之后,则该字符不是连字符只是一个字符而已 例如:String num = "012C34A5B!#$-%$^%&&&(-))&6FR7GD89"; [2-6] : 查找2到6之间的数字 [A-R] : 查找从A到R之间的字符 [2-6A-R] : 查找从2到6从A到R之间的字符 [2-6A-R!^&*] : 查找从2到6从A到R之间的字符和!^&*等特殊字符 [-2-6A-R] :查找从2到6从A到R之间的字符和-

脱字符:^ :当^出现在字符组内的第一个位置时表示:排除,即:除了....之外的, 如果脱字符没有在[]字符组的第一个位置,那么该^仅表示一个字符,没有特殊意义 [^0-9] : 查找字符串中除数字外的字符 [^2-6A-R] : 查找字符串中除了2到6之间的数字和A-R之间的字符外的所有字符 [^-2-6A-R] : 查找字符串中除了2到6之间的数字和A-R之间的字符和"-"外的所有字符(此处"-"只是一个字符,没有连字符的含义) 注意一下这种情况: String str = "abcdabcd"; 如果我们用表达式:d[^0-9] 只能匹配到字符串中的da,而不能匹配结尾处的d,因为结尾处的d没有任何东西让脱字符^去排除 如果我们在结尾加上一个空格的话,就可以匹配到了

用"."去匹配任意字符 例如:03/19/76 03-19-76 03.19.76 可以用03[-/.]19[-/.]76去匹配,同样可以用03.19.76去匹配,但是03.19.76也可能匹配到 03-19A76,因为"."可以匹配任何字符 注意:如果"."放在字符组外面的话表示元字符,但是如果放在字符组里面,则表示一个普通的"."


热门文章
1
input="file" 浏览时只显示指定文件类型 xls、xlsx、csv
2
input 上传第二次不能选择同一文件
3
有时候操作系统的时间与pg的时间不一致
4
java stream 转二维结构为树状结构
5
java Object和Map转化
6
让Node.js项目实现热部署,修改文件避免重启
7
golang  mysql操作
8
java label
9
BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化)
10
linux 自动运行脚本
最新文章
1
postgresql数据库
2
Mac 启动加载文件位置(可设置环境变量)
3
什么是ORM?
4
微信小程序自定义组件设置回调方法
5
java stream 转二维结构为树状结构
6
正则表达式
7
golang  mysql操作
8
利用Opencv实现简单的图片切割(JAVA)
9
PostgreSQL JSON 数据库
10
linux 自动运行脚本
热门标签
mac
java
jvm
微信小程序
小程序
自定义组件
回调
回调方法
golang
postgresql