java 正则例子
1.不易开头、结尾;小数;圆角字符
包含数字、字母、圆角字符
不以<br/>开头、结尾,但中间可以存在
小数中的小数点是半角
正则表达式
- "^(?!<br/>)(([0-9]+(.[0-9]+)?)|(<br/>)|[a-zA-Z\\u0391-\\uffe5])*(?<!<br/>)$"
解析
字母:[a-Z]
圆角字符:[\\u0391-\\uffe5]
数字:(包含小数):[0-9]+(.[0-9]+)? 这里的?表示有无量词
多个元素并列用| 隔离开
每个单独的元素用()括起来
不以<br/>开头:^(?!<br/>)
不以<br/>结尾:(?<!<br/>)$
测试
- @Test
- public void test2() {
- String str = "ABCabc中国";
- String regEx = "^(?!<br/>)(([0-9]+(.[0-9]+)?)|(<br/>)|[a-zA-Z\u0391-\uffe5])*(?<!<br/>)$";
- Pattern pattern = Pattern.compile(regEx);
- Matcher matcher = pattern.matcher(str);
- boolean rs = matcher.matches();
- System.out.println(rs);
- }
true
2.group()
需求:找出连续的大写字母
- @Test
- public void test() {
- String str = "MABabAcdBCef";
- String regEx = "([A-Z]+)";
- Pattern pattern = Pattern.compile(regEx);
- Matcher matcher = pattern.matcher(str);
- while (matcher.find()) {
- System.out.println(matcher.group(1));
- }
输出:
- MAB
- A
- BC
3.如果去掉正则中的()
- @Test
- public void test() {
- String str = "MABabAcdBCef";
- String regEx = "[A-Z]+";
- Pattern pattern = Pattern.compile(regEx);
- Matcher matcher = pattern.matcher(str);
- while (matcher.find()) {
- System.out.println(matcher.group(1));
- }
- }
结果
- java.lang.IndexOutOfBoundsException: No group 1
- at java.util.regex.Matcher.group(Matcher.java:538)
正则表达式中以’()’标记的子表达式所匹配的内容就是一个分组(group).
java 正则例子的更多相关文章
- Java正则速成秘籍(一)之招式篇
导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...
- Java正则表达中Greedy Reluctant Possessive 的区别
Java正则表达中Greedy Reluctant Possessive 的区别 分类: java2015-01-16 00:28 1280人阅读 评论(9) 收藏 举报 正则表达式Java 目录 ...
- Java正则速成秘籍(二)之心法篇
导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...
- Java正则速成秘籍(三)之见招拆招篇
导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...
- java 正则匹配空格字符串 正则表达式截取字符串
java 正则匹配空格字符串 正则表达式截取字符串 需求:从一堆sql中取出某些特定字符串: 比如配置的sql语句为:"company_code = @cc and project_id = ...
- java 多线程例子
java 多线程例子 编写具有多线程能力的程序经常会用到的方法有: run(), start(), wait(), notify(), notifyAll(), sleep(), yield(), ...
- url 中非法字符替换,java 正则替换
url在传输时不允许的一些字符串,参考自:http://www.ietf.org/rfc/rfc1738.txt 以下字符用java正则替换为"_",一句话搞定: "{& ...
- 通用且常用的Java正则匹配工具,用以检查邮箱名、电话号码、用户密码、邮政编码等合法性
一个通用且常用的Java正则匹配工具,用以检查邮箱名.电话号码.用户密码.邮政编码等合法性. import java.util.regex.Matcher; import java.util.rege ...
- java正则匹配
java正则提取需要用到Matcher类,下面给出案例示例供参考 需要提取车牌号中最后一个数字,比如说:苏A7865提取5,苏A876X提取6import java.util.regex.Matche ...
随机推荐
- Scala_数据结构
数据结构 容器(Collection) Scala提供了一套丰富的容器(collection)库,包括列表 (List).数组(Array).集合(Set).映射(Map)等 根据容器中元素的组织方式 ...
- yum-本地源配置(CentOS7)
服务器版本查看:# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 一.挂载ISO文件: 1.ISO镜像下载网站:网易镜像: ...
- 元组(tuple)基本操作
1.定义元组,Python的元组和列表类似,不同之处在于元组中的元素不能修改(因此元组又称为只读列表),且元组使用小括号而列表使用中括号 dimensions.py , ) print(dimensi ...
- Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again 问题分析
Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again Loaded pl ...
- Opencv3.4:显示一张图片
Github https://github.com/gongluck/Opencv3.4-study.git #include "opencv2/opencv.hpp" using ...
- C# byte和10进制、16进制相互转换
var SRMP = new byte[4]; Array.Copy(Encoding.UTF8.GetBytes(1.ToString("x2")), SRMP, Encodin ...
- Android------------------的快捷键的使用
https://www.cnblogs.com/shidian/p/6937630.html
- 防止sql注入的小函数 以及一些小验证
function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialch ...
- cad2017卸载/安装失败/如何彻底卸载清除干净cad2017注册表和文件的方法
cad2017提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装cad2017失败提示cad2017安装未完成,某些产品无法安装,也有时候想重新安装cad2017 ...
- Fusioncharts的数字格式化
1. 小数点位数格式化 <chart ... decimals='2' > Eg.数值12.432, 13.4 and 13,使用<chart ... decimals= ...