java正则表达式的坑
来源:互联网 发布:python sha256 编辑:程序博客网 时间:2024/06/08 16:17
java中正则表达式比较有意思,这里列举几个常见的坑
1.[]符号,中括号表示其中的数据都是或的关系
如果[\\w+]是匹配条件 abc是否可以匹配的到呢?
首先\\w(注意这里没有中括号)表示a-z A-Z 0-9 _多个字符组合,显然abc任意一个在里面的,后又有+号,表示有多个字符,所以abc可以匹配\\w+
但是[\\w+]表示的意思是多个字符的或,注意是或,所以[\\w+]等同于[a-z|A-Z|0-9|_],这里面的或只有单个字符
所以a或者b或者c都可以匹配[\\w+],但是abc不可以,如何让abc可以匹配呢很简单只需要将条件外面加上+号标识多个字符就可以了。
2.转义符号
java转义很麻烦各种\\,需要仔细理解
java中\是没有意义的,在字符串中你出现一个\,编译器会告诉你是错误的,不能这样
所以java中\\表示一个\。在正则表达式匹配中如匹配数字写的是\\d其实是\\表示一个\最后的效果是\d.
这个时候有人要问了,我只要匹配\d这个字符而不是匹配数字怎么办,这个时候需要在加一个转义符,告诉大家这个字符不是\d表示的数字,而是具体字符串\d,具体的结果是很蛋疼的在加上一个转义字符\\,所以会出现\\\\d,java会解析成\\d,表示对\d在做转义,就是单纯的\d。
再比如[\\]这个简单的表达式,如果你去调用则会报错,为什么?
因为java会认为你只传了一个转义符,而单独的转义符是没有意义的,如果你要匹配\号,需要的表达式是\\\\前面的\\表示转义符号,后面的\\表示真正匹配的\号。- -!
java转义字符关键是两个\\表示一个\,会让人费解,需要注意。
- java正则表达式的坑
- Java的正则表达式
- Java的正则表达式
- java的正则表达式
- java的正则表达式
- Java的正则表达式
- Java的正则表达式
- Java的正则表达式
- Java的正则表达式
- java的正则表达式
- java的正则表达式
- java正则表达式!正则表达式踩坑!!!
- java正则表达式的使用
- 关于java的正则表达式
- Java的正则表达式试用
- Java正则表达式的Quantifiers
- JAVA里的正则表达式
- 关于java的正则表达式
- Poi方式解析Excel文件(支持Excel2007)
- leetcode 之 Permutations 解题思路
- fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC sha
- Nova和Heat中的servergroup
- 分布式系统领域经典论文翻译集
- java正则表达式的坑
- 键盘弹出和消失View的上下移动效果
- NTP工作机制及时间同步的方法
- webview学习记录
- HashSet
- 124_leetcode_Surrounded Regions
- JVM常用参数说明
- poj 2923 Relocation(状态压缩加上01背包)
- 关于浏览器跨域写cookie的文章收集