Java正则表达式括号内容匹配

工作中碰到的一些问题与解决方法记录下来以备不时之需

商品品名规定英文括号正则表达式拆分规则

.*? :所有内容

[1-9] :整数数字1到9

\d :0到9

\d* :*表示可跟多个数字

\. :小数点

\.? :?表示无小数点或有小数点

规则是要根据英文括号"()"来把品名拆分多行,难免品名中会包含括号在内,容易混淆匹配规则

1 String nameInput = "小苹果(1)(1富士康品种)大苹果(2)(2苹果梨)梨(1)";

2 try{

3 //String pattern = "(.*?)\\(.*?\\)";

4 String pattern = "(.*?)\\([1-9]\\d*\\.?\\d*\\)";

5 Pattern r = Pattern.compile(pattern);

6 Matcher m = r.matcher(nameInput);

7 while (m.find()) {

8 System.out.println(m.group(0));

9 }

10 }catch (Exception e){

11 e.printStackTrace();

12 }

代码中注释的那一行只能匹配英文括号中所有内容,但是“大苹果”这个商品被分成两行了,因为前面英文括号的内容也在匹配范围内。

输出为:

小苹果(1)

(1富士康品种)

大苹果(2)

(2苹果梨)梨(1)

String pattern = "(.*?)\\([1-9]\\d*\\.?\\d*\\)"

这行代码可以达到要求,输出为:

小苹果(1)

(1富士康品种)大苹果(2)

(2苹果梨)梨(1)

原文链接:https://www.cnblogs.com/sjzhai/p/13535979.html

java编程括号匹配,Java正则表达式括号内容匹配相关推荐

  1. java 正则 单个字符_正则表达式教程之匹配单个字符详解

    本文实例讲述了正则表达式教程之匹配单个字符.分享给大家供大家参考,具体如下: 注:在所有例子中正则表达式匹配结果包含在源文本中的[和]之间,有的例子会使用Java来实现,如果是java本身正则表达式的 ...

  2. 怎么才能学好Java编程写好Java代码?

    动力节点Java培训最新上线Java实验班,等你来测试自己适不适合学习Java编程哦! 刚刚接触Java编程的朋友总会遇到一些情况,比如:跟着Java基础教程看过一遍后,自己写代码的时候却无从下手:写 ...

  3. 【Java编程系列】java用POI、Itext生成并下载PPT、PDF文件

    热门系列: [Java编程系列]WebService的使用 [Java编程系列]在Spring MVC中使用工具类调用Service层时,Service类为null如何解决 [Java编程系列]Spr ...

  4. 【Java编程系列】Java判断世界各时区的夏令时、冬令时

    热门系列: [Java编程系列]java用POI.Itext生成并下载PPT.PDF文件 [Java编程系列]二进制如何表示小数?0.3+0.6为什么不等于0.9?纳尼!!! 程序人生,精彩抢先看 目 ...

  5. 【Java编程系列】Java自定义标签-Tag

    热门系列: [Java编程系列]WebService的使用 [Java编程系列]在Spring MVC中使用工具类调用Service层时,Service类为null如何解决 [Java编程系列]Spr ...

  6. jar java classpath_win7中java编程工具安装 java环境变量设置

    win7中java编程工具安装 java环境变量设置 Question:编译是显示'javac'不是内部或外部命令,也不是可运行的程序或批处理文件 解决: 在[系统变量]里编辑java_home.cl ...

  7. Java编程思想+Effective Java+Java核心技术+Java核心技术 卷II+Java语言程序设计(中文+英文+源码)

    Java四大名著(中文+英文+源码 ) 传说中的java四大名著,分享出来方便大家学习! 书名如下: Java编程思想 Effective Java(第2版) Java核心技术 卷I(第8版) Jav ...

  8. 桐乡的java培训,桐乡java编程培训,桐乡java培训费用,桐乡java培训完了好不好就业...

    桐乡java编程培训,桐乡java培训费用,桐乡java培训完了好不好就业 首页 > java > 桐乡java编程培训 作者:镀金池   发布时间:2017-12-04 20:31 Ja ...

  9. java收费学java,讷河学java编程,讷河java编程学习的学校,讷河java编程学习一般怎么收费...

    讷河学java编程,讷河java编程学习的学校,讷河java编程学习一般怎么收费 首页 > 软件 > 讷河学java编程 作者:镀金池   发布时间:2019-02-20 07:00 Gr ...

  10. java 文本查找_Java基于正则表达式实现查找匹配的文本功能【经典实例】

    本文实例讲述了Java基于正则表达式实现查找匹配的文本功能.分享给大家供大家参考,具体如下: REMatch.java: package reMatch; import java.util.regex ...

最新文章

  1. 少标签数据学习,54页ppt
  2. win10怎么设置开机启动项目_开机启动项怎么设置呢?禁用自启动程序
  3. Divan and a New Project 贪心,模拟(1000)
  4. 高性能网站架构设计之缓存篇(6)- Redis 集群(中)
  5. 操作系统的中断和异常
  6. Function!(计蒜客 - 42386)
  7. 原 Linux搭建SVN 服务器2
  8. 指针java_浅谈Java与指针 - 穿梭于偶然
  9. python监控程序执行_python如何监控PostgreSQL代码运行
  10. Django:ORM基本操作-CRUD,管理器对象objects,----->查询2(filter,exclude,get,查询谓词)
  11. POJ - 1459 Power Network(最大流)(模板)
  12. python上传Excel文件
  13. 绿色到黄色到红色的颜色渐变
  14. python pyodbc使用方法
  15. 云计算是什么?新手学习云计算的学习路线
  16. Linux oracle 怎么安装,oracle在linux下怎么安装
  17. 将项目部署到云服务器上
  18. 爬取NBA球员生涯数据,并在Excel中可视化显示
  19. 什么是循环依赖以及解决方式
  20. SwiftUI:属性装饰器的理解@State,@Binding,@ObservedObject,@Published,@Environment,@EnvironmentObject

热门文章

  1. 【Free5GC】环境安装搭建
  2. dfc trace performance anaysis
  3. c语言课程设计图书管理系统
  4. 人民币转换(阿拉伯数字转为中文大写的人民币格式)
  5. LearnGL - 06.1 - Matrix - 矩阵02 - 向量空间、向量空间的维度、为何矩阵乘法要有 [M x N] * [N * P] 的 N 要相等的限制
  6. Unity内嵌网页插件
  7. 一句话木马原理与实战
  8. 虚同步(Virtual Synchrony)核心文献
  9. JavaSE学习18(接口组成更新,方法引用)
  10. js根据当前时间,获取本周一和本周日