当前位置: 首页 > 知识库问答 >
问题:

打印出与Java中的正则表达式匹配的字符串?

容磊
2023-03-14

可能的重复:用java打印regex匹配

我使用java中的Matcher类来匹配一个字符串和一个特定的正则表达式,我使用Pattern类将其转换为一个模式。我知道我的正则表达式可以工作,因为当我执行matcher.find()时,我得到的是我应该得到的真值。但是我想要打印出产生那些真值的stings(意思是打印出与我的regex匹配的字符串),而我在matcher类中没有看到一个方法来实现这一点。如果有人以前遇到过这样的问题,请一定要让我知道。我很抱歉,因为这个问题是相当初级的,但我对正则表达式是相当新的,因此我仍然在寻找我的方式在正则表达式的世界。

共有1个答案

充普松
2023-03-14

假设m是匹配器:

m.group()将返回匹配的字符串。

[编辑]添加了有关匹配组的信息

此外,如果您的正则表达式在括号内有部分,则m.group(n)将返回与括号内第n个组匹配的字符串;

Pattern p = Pattern.compile("mary (.*) bob");
Matcher m = p.matcher("since that day mary loves bob");

M.group()返回“Mary loves Bob”。
M.group(1)返回“loves”。

 类似资料:
  • 本文向大家介绍使用Java正则表达式匹配不可打印字符,包括了使用Java正则表达式匹配不可打印字符的使用技巧和注意事项,需要的朋友参考一下 通常有7个常见的不可打印字符,每个字符都有自己的十六进制表示形式。 名称 人物 十六进制表示 钟 \一种 0x07 逃逸 \ e 0x1B 换页 \F 0x0C 换行 \ n 0x0A 回车 \ r 0X0D 水平标签 \ t 0X09 垂直标签 \ v 0X

  • 有没有人试图描述与正则表达式匹配的正则表达式? 由于重复的关键字,这个主题几乎不可能在网上找到。 它可能在实际应用程序中不可用,因为支持正则表达式的语言通常具有解析它们的方法,我们可以将其用于验证,以及一种在代码中分隔正则表达式的方法,可用于搜索目的。 但是我仍然想知道匹配所有正则表达式的正则表达式是什么样子的。应该可以写一个。

  • 我有一根绳子。假设:< br> 我想将所有替换为单词和替换为。一般来说,我想替换单个字母或单个字母与空格或点之间的所有点。我认为匹配的正则表达式是: 我怎么能只替换那个点,而不是所有匹配的东西? 编辑: 预期产出: 编辑2: 基本任务是从缩写和首字母缩略词中删除点,这些缩略词可以用点或不用点编写。所以一个好的正则表达式也很有价值

  • 问题内容: 我有以下字符串: 如您所见,该字符串由#分隔。我的用例类似于一个简单的SPLIT(string,“#”)操作,但是regex给了我更多的灵活性。 我想匹配两次出现的#之间的字符。例如,第二次和第三次出现之间的字符应匹配:“ US” 我使用的是Google Bigquery,能够匹配字符串的前两个术语,但与第三个术语比较费劲: 位置是字符串,例如上面的字符串。 我已经找到了这个问题,但是

  • 问题内容: 什么正则表达式将匹配Java中的任何ASCII字符? 我已经尝试过: 但是发现它与我想要的很多东西都不匹配(例如空格,括号等)。我希望避免以如下格式显式列出所有127个ASCII字符: 问题答案: 我没用过但是我用过

  • 我想匹配任何文本中的某些行,在匹配中,我想尽可能频繁地替换某个字符。示例文本: 任何文本和“更多”文本。不要在此处替换引号 CatchThis(此处没有引号,“任何更多文本”,“等等…”)。。。 现在,我想用哈希符号来替换圆括号中的每个引号。预期结果: 任何文本和“更多”文本。不要在此处替换引号 CatchThis(此处没有引号,#没有更多文本#,#等等…#)。。。 匹配线条很容易。这是我的模式: