JAVA中的Pattern
来源:互联网 发布:wepy 知乎 编辑:程序博客网 时间:2024/06/05 17:21
以后填坑用
正则中的零宽断言分为正向零宽先行断言,和负向零宽先行断言,先看一段代码:
Pattern pattern = Pattern.compile("ab(?=[A-Z])"); Matcher matcher=pattern.matcher("abZW863"); if(matcher.find()){ System.out.println(matcher.group()); }
结果输出为:
ab
匹配后面跟随任意一个大写字母的字符串”ab”。最终匹配结果是”ab”,因为零宽断言”(?=[A-Z])”并不匹配任何字符,只是用来规定当前位置的后面必须是一个大写字母。
再看一段代码:
Pattern pattern = Pattern.compile("ab(?![A-Z])"); Matcher matcher=pattern.matcher("abZW863"); if(matcher.find()){ System.out.println(matcher.group()); }
其结果无输出,原因在原matcher.find()结果为false,其语义是匹配后面不跟随任意一个大写字母的字符串”ab”。正则表达式没能匹配任何字符,因为在字符串中,ab的后面跟随有大写字母。
(?=exp) 零宽度正预测先行断言,它断言自身出现的位置的后面能匹配表达式。
(?<=exp) 零宽度正回顾后发断言,它断言自身出现的位置的前面能匹配表达式。
负向:
(?!exp) 零宽度负预测先行断言,它断言此位置的后面不能匹配表达式。
(?<!exp) 零宽度负回顾后发断言,它断言此位置的前面不能匹配表达式。
http://blog.sina.com.cn/s/blog_12e4623a90101cqy0.html
http://www.jb51.net/article/95906.htm
阅读全文
0 0
- Java 中的Pattern 类
- JAVA中的Pattern
- Java中的Pattern类和Matcher类
- 详解Java中的Pattern和Matcher
- 【Java.Web】Servlet/Filter中的 <url-pattern>
- 【Java.Web】Servlet/Filter中的 <url-pattern>
- Java中的正则(Pattern和Matcher类)
- Java.Web:Servlet/Filter中的 <url-pattern>
- java中的pattern和matcher的用法
- Java学习札记19:详解Java中的Pattern和Matcher
- JAVA pattern
- JAVA Pattern
- 代理模式(Proxy Pattern)(二):Java API中的动态代理
- java web web.xml 中的url-pattern 和 springMVC
- Java中的观察者模式(Observer Pattern)学习
- #Java中的Pattern和Matcher类的详解
- JAVA Design Pattern--Iterator Pattern
- SSO中的Pattern
- SQL优化
- Deep Forest:一种深度神经网络的替代模型架构
- Arrays.binarySearch()返回值问题
- python中的“self”
- vue阻止事件冒泡
- JAVA中的Pattern
- Python 深入浅出
- VS2017常见问题解决
- 如何做出漂亮的序列比对图——ENDscript/ESPript
- getopt和getopt_long
- gwo灰狼算法matlab源码
- 计算机语言之战
- vuejs进阶之路一基础知识 2017-12-16
- git Authentication failed解决办法