Java查找一个字符串中所有匹配某正则的子串
来源:互联网 发布:手机淘宝标题模块 编辑:程序博客网 时间:2024/05/22 12:09
代码如下:
String line = "2016年10月11日我们去哪里玩近期我们近日,次年,同年等等,10月,2019年,3月4日"Pattern datePattern = Pattern.compile("\\d{4}年\\d{1,2}月\\d{1,2}日|\\d{4}年\\d{1,2}月|\\d{1,2}月\\d{1,2}日|\\d{4}年|\\d{1,2}月|同年|次年|近日|近期");Matcher dateMatcher = datePattern.matcher(line);int dateCount = 0;while(dateMatcher.find()) { System.out.println(dateMatcher.group()); ++dateCount;}如上代码是查找,字符串中所有匹配:年月日、年、年月、月、月日、同年、次年、近日、近期的子串
这里涉及到贪婪匹配或者非贪婪匹配,好像跟正则的顺序有关,如上,我将长匹配的放在了前面,即先是 年月日,年月,月日,年,月等。我是按照这样的顺序放置正则,所以可以实现贪婪匹配。
此外:
假如有如下字符串
String line = "[[444444444444],[5555555555555]]";
我要将每个[ ]中字符串单独取出来,可以采用如下正则
Pattern categoryPattern = Pattern.compile("\\[\".*?\"\\]"); //加一个问号后就是非贪婪匹配注意:上述如果没有那个?号就是贪婪正则,这一只会匹配到最外层的,即只会匹配到一个,但是加了问号就变成了非贪婪,就可以实现正确的匹配
0 0
- Java查找一个字符串中所有匹配某正则的子串
- 正则表达式查找匹配的子字符串
- Java在字符串中查找匹配的子字符串
- JS中查找一个字符串中所有子串的位置
- java 在一个字符串中查找最大对称子串
- 使用正则匹配字符串的子串
- 查找字符串中一个子串的个数
- java: 正则匹配字符串中多个目标子串(贪婪匹配的模拟实现)
- 用java 正则表达式 计算一个字符串中某个子串的个数
- 利用Linux 自带的GNU正则表达式库实现查找字符串中全部匹配左右边界限定的子串
- java正则匹配字符串中不包含一个或几个特定的字符串
- 获取一个字符串的所有子串
- 查找完全匹配的子字符串strstr
- 朴素匹配算法-子字符串的查找
- 字符串匹配所有子串坐标
- JAVA中正则表达式匹配,替换,查找,切割的方法
- java正则匹配替换字符串中ip格式的字符串
- 在一个文件夹下面的所有文件中查找字符串
- c/c++编程题 之 猴子选大王(数组、链表两种方法)
- Spring 中数据源和数据库连接池配置的几种方法
- 指针与数组的区别
- Android SurfaceTexture和GLSurfaceView做Camera预览
- MFC类继承图与MFC颜色值对应表
- Java查找一个字符串中所有匹配某正则的子串
- Eclipse打开WorkSpace已存在工程
- matplot设置xy轴范围
- Java嵌套类(内部类)总结
- 获取自动生成id
- 学习资源
- Mybatis基础
- poj2993
- web前端开发基础第5天