Java经典实例:正则表达式,找到匹配的文本
import java.util.regex.Matcher;
import java.util.regex.Pattern; /**
* Created by Frank
*/
public class REMatch {
public static void main(String[] args) {
String patt = "Q[^u]\\d+\\.";
Pattern r = Pattern.compile(patt);
String line = "Order QT300. Now! QT400.";
Matcher m = r.matcher(line);
int i = 0;
while (m.find()) {
// group(0)或group()将会返回整个匹配的字符串(完全匹配);group(i)则会返回与分组i匹配的字符
// 这个例子只有一个分组
System.out.println(patt + " matches \"" + m.group(0) + "\" in \"" + line + "\"");
System.out.println("start:" + m.start() + " end:" + m.end());
}
}
}
输出:
Q[^u]\d+\. matches "QT300." in "Order QT300. Now! QT400."
start:6 end:12
Q[^u]\d+\. matches "QT400." in "Order QT300. Now! QT400."
start:18 end:24
import java.util.regex.Matcher;
import java.util.regex.Pattern; /**
* Created by Frank
*/
public class REMatchTwoFields {
public static void main(String[] args) {
String inputLine = "Adams,John Quincy";
Pattern r = Pattern.compile("(.*),(.*)");
Matcher m = r.matcher(inputLine);
if (!m.matches()) {
throw new IllegalArgumentException("Bad Input");
}
// 分组0得到的是整个原字符串
for (int i = 0; i < m.groupCount() + 1; i++) {
System.out.println("分组" + i + ":" + m.group(i));
}
}
}
输出:
分组0:Adams,John Quincy
分组1:Adams
分组2:John Quincy
Java经典实例:正则表达式,找到匹配的文本的更多相关文章
- Java经典实例:正则表达式,替换匹配的文本
import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by Frank * 替换匹配的文本 */ ...
- Java经典实例:使用正则表达式:测试模式
import java.util.regex.Pattern; /** * Created by Frank * 在Java中使用正则表达式:测试模式 */ public class RESimple ...
- Java如何在正则表达式中匹配重复单词?
在Java编程中,如何在正则表达式中匹配重复单词? 以下示例显示了如何使用regex.Matcher类的p.matcher()方法和m.group()方法在正则表达式中搜索重复的单词. package ...
- Java经典实例:在文本中匹配换行符
默认情况下,正则表达式 ^ 和 $ 忽略行结束符,仅分别与整个输入序列的开头和结尾匹配.如果激活 MULTILINE 模式,则 ^ 在输入的开头和行结束符之后(输入的结尾)才发生匹配.处于 MULTI ...
- Java经典实例:在正则表达式中控制大小写
默认是:区分大小写的: 传递标志参数:Pattern.CASE_INSENSITIVE,以说明匹配时忽略大小写:如果你的代码运行在不同的地区那么你应该再添加一个Pattern.UNICODE_CASE ...
- Java经典实例:使用ChoiceFormat来格式化复数
import java.text.ChoiceFormat; /** * Created by Frank */ public class FormatPuralsChoice extends For ...
- Javascript经典实例 - 正则表达式
1] 正则常用字符 正则表达式常用的特殊字符 字符 匹配 示例 ^ 匹配输入的开始 /^This/匹配 “This is ...” $ 匹配输入的结束 /end$/匹配“This is the end ...
- Java 经典实例:自定义迭代器
编写自己的Iterator,实现Iterator接口,这里多说一句,实现Iterable后,可以用"foreach"循环遍历你的对象. import java.util.Itera ...
- Java经典实例:把字符串解析为日期时间
Java版本:1.8开始 import java.time.LocalDate; import java.time.LocalDateTime; /** * Created by Frank */ p ...
随机推荐
- 每天一个linux命令(12):more命令
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会 ...
- Liferay7 BPM门户开发之44: 集成Activiti展示流程列表
处理依赖关系 集成Activiti之前,必须搞清楚其中的依赖关系,才能在Gradle里进行配置. 依赖关系: 例如,其中activiti-engine依赖于activiti-bpmn-converte ...
- Java EE开发平台随手记1
过完春节以来,一直在负责搭建公司的新Java EE开发平台,所谓新平台,其实并不是什么新技术,不过是将目前业界较为流行的框架整合在一起,做一些简单的封装和扩展,让开发人员更加易用. 和之前负责具体的项 ...
- easyuidatagrid中load,reload,loadData的区别。
摘要:datagrid中有load,reload,loadData那三个方式,皆是加载数据的,但又有差别.下面让我们一起来看看: 首先,load方法,比如我已经定义一个datagrid的id为grid ...
- 如果正确读取SQL Server中的扩展事件?
SQL Server中使用扩展事件捕捉所需的信息后,可以选择存放的位置.比如说内存或文件中,但无论存在哪里,其本质都是一个大XML.因此在SQL Server中读取该XML就是解析扩展事件结果 ...
- SQL PASS将于8月24日在北京中医药大学举办线下活动
活动主题:复制架构的实现和调优以及SQL Server BI在传统行业的应用 地点:北三环东路11号 北京中医药大学 白色的1号楼教学楼后楼5层511房间 时间:2013年8月24日 9:00-12: ...
- vs xamarin android 读取rest
private void Btn_Click(object sender, EventArgs e) { var u = FindViewById<EditText>(Resource.I ...
- Angularjs中link函数参数含义小节
restrictE: 表示该directive仅能以element方式使用,即:<my-dialog></my-dialog>A: 表示该directive仅能以attribu ...
- 用Log Parser Studio分析IIS日志
发现一个强大的图形化IIS日志分析工具——Log Parser Studio,下面分享一个实际操作案例. 1. 安装Log Parser Studio a) 需要先安装Log Parser,下载地址: ...
- Dripicons – 精美的扁平风格的免费矢量图标字体
Dripicons 是一个好看的免费图标集,有超过 90 个扁平风格的图标,适用在 Web 应用程序中使用,如:箭头,媒体,图表等等. 集合多种矢量格式(PSD,AI,EPS,PDF,SVG),也可以 ...