1.不易开头、结尾;小数;圆角字符

包含数字、字母、圆角字符

不以<br/>开头、结尾,但中间可以存在

小数中的小数点是半角

正则表达式

  1. "^(?!<br/>)(([0-9]+(.[0-9]+)?)|(<br/>)|[a-zA-Z\\u0391-\\uffe5])*(?<!<br/>)$"

解析

字母:[a-Z]

圆角字符:[\\u0391-\\uffe5]

数字:(包含小数):[0-9]+(.[0-9]+)?          这里的?表示有无量词

多个元素并列用| 隔离开

每个单独的元素用()括起来

不以<br/>开头:^(?!<br/>)

不以<br/>结尾:(?<!<br/>)$

测试

  1. @Test
  2. public void test2() {
  3. String str = "ABCabc中国";
  4. String regEx = "^(?!<br/>)(([0-9]+(.[0-9]+)?)|(<br/>)|[a-zA-Z\u0391-\uffe5])*(?<!<br/>)$";
  5. Pattern pattern = Pattern.compile(regEx);
  6. Matcher matcher = pattern.matcher(str);
  7. boolean rs = matcher.matches();
  8. System.out.println(rs);
  9.  
  10. }

true

2.group()

需求:找出连续的大写字母

  1. @Test
  2. public void test() {
  3. String str = "MABabAcdBCef";
  4. String regEx = "([A-Z]+)";
  5. Pattern pattern = Pattern.compile(regEx);
  6. Matcher matcher = pattern.matcher(str);
  7. while (matcher.find()) {
  8. System.out.println(matcher.group(1));
  9. }

输出:

  1. MAB
  2. A
  3. BC

3.如果去掉正则中的()

  1. @Test
  2. public void test() {
  3. String str = "MABabAcdBCef";
  4. String regEx = "[A-Z]+";
  5. Pattern pattern = Pattern.compile(regEx);
  6. Matcher matcher = pattern.matcher(str);
  7. while (matcher.find()) {
  8. System.out.println(matcher.group(1));
  9. }
  10. }

结果

  1. java.lang.IndexOutOfBoundsException: No group 1
  2.  
  3. at java.util.regex.Matcher.group(Matcher.java:538)

正则表达式中以’()’标记的子表达式所匹配的内容就是一个分组(group).

java 正则例子的更多相关文章

  1. Java正则速成秘籍(一)之招式篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  2. Java正则表达中Greedy Reluctant Possessive 的区别

    Java正则表达中Greedy Reluctant Possessive 的区别 分类: java2015-01-16 00:28 1280人阅读 评论(9) 收藏 举报 正则表达式Java   目录 ...

  3. Java正则速成秘籍(二)之心法篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  4. Java正则速成秘籍(三)之见招拆招篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  5. java 正则匹配空格字符串 正则表达式截取字符串

    java 正则匹配空格字符串 正则表达式截取字符串 需求:从一堆sql中取出某些特定字符串: 比如配置的sql语句为:"company_code = @cc and project_id = ...

  6. java 多线程例子

    java 多线程例子   编写具有多线程能力的程序经常会用到的方法有: run(), start(), wait(), notify(), notifyAll(), sleep(), yield(), ...

  7. url 中非法字符替换,java 正则替换

    url在传输时不允许的一些字符串,参考自:http://www.ietf.org/rfc/rfc1738.txt 以下字符用java正则替换为"_",一句话搞定: "{& ...

  8. 通用且常用的Java正则匹配工具,用以检查邮箱名、电话号码、用户密码、邮政编码等合法性

    一个通用且常用的Java正则匹配工具,用以检查邮箱名.电话号码.用户密码.邮政编码等合法性. import java.util.regex.Matcher; import java.util.rege ...

  9. java正则匹配

    java正则提取需要用到Matcher类,下面给出案例示例供参考 需要提取车牌号中最后一个数字,比如说:苏A7865提取5,苏A876X提取6import java.util.regex.Matche ...

随机推荐

  1. NFS Server宕机后,NFS Client主机上df命令挂死

    方法1: 使用root用户:Oracle@NDMCDB05:~> su -Password: NDMCDB05:~ # cat /etc/mtab /dev/sda2 / reiserfs rw ...

  2. [NewCode 5] 从尾到头打印链表

    题目描述 输入一个链表,从尾到头打印链表每个节点的值. 题目比较水,一遍就 AC 了,来看代码: /** * struct ListNode { * int val; * struct ListNod ...

  3. C# 判断access建库、建表、文件是否存在等

    1.创建数据库 2.判断表是否存在 3.创建表 1.    #region access数据库操作 之 创建数据库         private void creatMDB(string dbNam ...

  4. 二、winForm-DataGridView操作——DataGridView 操作、属性说明

    注册:Form加载窗体代码 /// <summary> /// 窗体加载Form1 /// </summary> /// <param name="sender ...

  5. C# 动态创建SQL数据库(二)

    使用Entity Framework  创建数据库与表 前面文章有说到使用SQL语句动态创建数据库与数据表,这次直接使用Entriy Framwork 的ORM对象关系映射来创建数据库与表 一 新建项 ...

  6. 07_python_集合深浅拷贝

    一.join li = ["李嘉诚", "麻花藤", "林海峰", "刘嘉玲"] s = "_".j ...

  7. activemq在一台服务器上启动多个Broker

    步骤如下: 1.把整个conf文件夹复制一份,比如叫conf2 2.修改里面的activemq.xml文件 ①brokerName不能和原来的重复 ②数据存放的文件名称不能重复,比如<kahaD ...

  8. 重识 PWA 进阶到 workbox3

    看到PWA,似曾相识,但又感觉很模糊,于是乎,又重新翻阅文档,学习了一遍,顺便把相关知识学习了一下,比如service worker,workbox3. PWA 概念: 全称:Progressive ...

  9. Swift 里 Set(四)Testing for Membership

    即contains操作 /// - Parameter member: An element to look for in the set. /// - Returns: `true` if `mem ...

  10. python使用selector模块编写FTP

    server import os import socket import time import selectors BASE_DIR = os.path.dirname(os.path.abspa ...