- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章详解正则表达式Matcher类中group方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
前言 。
同事把一个excel表给我,里面的数据大概有几千的样子吧。自己需要把里面的数据一个一个拿出来做一个http请求,对得到的结果进行过滤,然后再写到上面去。这是就涉及到用脚本来进行操作了,于是自己搞了一个Java的脚本出来,里面涉及到一些正则表达式,自己虽然说会,但是一直对 Matcher类中的group方法 不太了解。网上的博客也没有写的特别清楚,于是有了此文.
0|1Pattern 和 Matcher 。
在java.util.regex 包下 。
PatternSyntaxException
: 当遇到不合法的搜索模式时,会抛出例外。0|1正则表达式语法 。
在有的语言中,一个反斜杠 \ 就足以具有转义的作用,但是Java中需要两个 \\ 反斜杠。表示转义的作用。一些字符在正则表达式中的说明,意义。详情可查看runoob 。
0|1上代码 。
现在我的正则表达式为 (//d+)([a-z]+)(//d+) 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
public static void main( String args[] ){
//
按指定模式在字符串查找
String line =
"123ra9040 123123aj234 adf12322ad 222jsk22"
;
String pattern =
"(\\d+)([a-z]+)(\\d+)"
;
//
String pattern1 =
"([\\u4E00-\\u9FA5]+|\\w+)"
;
//
创建 Pattern 对象
Pattern r = Pattern.compile(pattern);
//
现在创建 matcher 对象
Matcher m = r.matcher(line);
int i = 0;
//
m.
find
是否找到正则表达式中符合条件的字符串
while
(m.
find
( )) {
//
拿到上面匹配到的数据
System.out.println(
"----i="
+i);
System.out.println(
"Found value: "
+ m.group(0) );
System.out.println(
"Found value: "
+ m.group(1) );
System.out.println(
"Found value: "
+ m.group(2) );
System.out.println(
"Found value: "
+ m.group(3) );
i++;
System.out.println(
"|||||||"
);
System.out.println(
""
);
}
}
|
输出:
----i=0 Found value: 123ra9040 Found value: 123 Found value: ra Found value: 9040 ||||||| ----i=1 Found value: 123123aj234 Found value: 123123 Found value: aj Found value: 234 ||||||| ----i=2 Found value: 222jsk22 Found value: 222 Found value: jsk Found value: 22 ||||||| 。
group(0) 对应着 ((//d+)([a-z]+)(//d+)) 123ra9040 。
group(2) 输出的数据 是 group(0)中所匹配的数据 也就是([a-z]+) 匹配到是数据 ra 。
group(3) 输出的数据 是 group(0)中所匹配的数据 也就是(//d+) 匹配到是数据 9040 。
0|1总结 。
Matcher 类中group(0) 表示正则表达式中符合条件的字符串.
Matcher 类中 group(1) 表示正则表达式中符合条件的字符串中的第一个() 中的字符串.
Matcher 类中 group(2) 表示正则表达式中符合条件的字符串中的第二个() 中的字符串.
Matcher 类中 group(3) 表示正则表达式中符合条件的字符串中的第三个() 中的字符串.
如果不明白,我相信看代码会很明白的.
总结 。
以上所述是小编给大家介绍的正则表达式Matcher类中group方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的! 。
原文链接:https://www.cnblogs.com/Krloypower/p/11356805.html 。
最后此篇关于详解正则表达式Matcher类中group方法的文章就讲到这里了,如果你想了解更多关于详解正则表达式Matcher类中group方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
尝试使用 spacy matcher 时出现错误: ~\Anaconda3\lib\site-packages\spacy\matcher\matcher.pyx in spacy.matcher.m
我想检查一个字符串是否包含另一个字符串,忽略大小写。基本上,我想这样做: assertThat(dialogTitle.getText(), containsString(equalToIgnorin
我想断言 ICollection 包含满足约束集合的项目。对于 Java Hamcrest,我会使用 Matchers.containsInAnyOrder(Matcher... matchers)。
如果我有一个 Matcher[A],如何创建一个只有当 Iterable 的每个元素都满足原始 Matcher 时才满足的 Matcher[Iterable[A]]。 class ExampleSpe
这将是一个简单的问题,但如果我的类路径中包含两个库,我找不到它们之间的区别以及使用哪一个? 最佳答案 Hamcrest 匹配器方法返回 Matcher和 Mockito 匹配器返回 T。因此,例如:o
给定一个序列 Seq[Matcher[A]]我要索取单Matcher[A]当序列中的所有匹配器都成功时,它就成功了。 编辑 我自己提供的答案似乎有点笨拙,此外,如果该序列的所有失败匹配器都产生结果,那
我看到了这个post 关于两者的区别: Matchers.hasItem(..) Assert.assertThat(items, Matchers.hasItem(Matchers.hasToStr
我对以下之间的区别有点困惑: Matcher m; m.group(); 和 Matcher m; m.pattern().pattern(); 它们都从列表中返回正确的匹配项,但我不明白两者之间的区
我正在使用 while(matcher.find()) 循环访问文件并从中检索内容。我想知道如果我知道我找到的内容的索引位于 matcher.start() 中,我将如何从这个循环中获取行号。 我很困
我试过这个例子,只是交换了两条线,它给出了不同的输出,为什么 String inputString = "username@gmail.com"; String pattern="([a-z]+@)(
以下代码在首次运行时给出异常。但是当我在匹配器行上设置断点并在 Netbeans Watcher 中评估一些命令时。有用。为什么?? String regex = "/I-TASSER/output/
是否有 Matcher.appendReplacement() 和 Matcher.appendTail() 的替代方案,它采用 StringBuilder 而不是 StringBuffer ? 是否
我需要在循环中“缩短”字符串,然后一次又一次地传递它以与 java.regex.Pattern 匹配。对于一些深入参与解析和文本处理的人来说,这可能是一个微不足道的情况。 我面临着必须使用的情况: s
为什么第一个 block 有效而第二个 block 不有效? int numberOfDigits = 2; Pattern p = Pattern.compile("[01]{"+numberOfD
我是 c# 的新手,正在尝试将以下代码转换为 c#,但在 c# 中找不到任何 api 来执行此操作。 请解释 matcher.start() 和 matcher.end() 的等价物。 c# 中 ma
我注意到调用 Matcher.lookingAt() 会影响 Matcher.find()。我在我的代码中运行了 lookingAt(),它返回了 true。然后,当我运行 find() 以便开始返回
我正在进行一些测试,以便重构一个旧的 C++ 项目。我正在尝试使用 gmock 匹配器 ElementsAreArray() 来匹配两个数组。 EXPECT_THAT(value_instance.v
我正在寻找一种方法来确定单个正则表达式是否匹配整个字符串、字符串的开头或 C# 中的一部分。 在 Java 中,您可以构造一个 Matcher 对象,并使用方法 matches() 来检查它是否与整个
给定一个 Collection 或 Iterable 项目,是否有任何 Matcher(或匹配器组合)可以断言每个项目都匹配一个匹配器? 例如,给定这个项目类型: public interface P
我看到有一些关于 Java Matcher 类的帖子,但我找不到关于特定方法 find() 和 group() 的帖子. 我有这段代码,其中 Lane 和 IllegalLaneException 已
我是一名优秀的程序员,十分优秀!