String方法获取与字符串中的regex匹配的未知值

时间:2010-03-19 15:55:28

标签: java regex string

在Java中,有一种方法可以通过正则表达式提取字符串的未知子集的值。例如,在以下字符串“hello world 1234”中,我希望能够通过正则表达式[0-9] *提取值1234。有没有办法做到这一点?

3 个答案:

答案 0 :(得分:3)

是 - 将您想要的位放入正则表达式中的一个组中。

有一种教程here或在this longer page中找到“捕获与模式匹配的字符串”。

答案 1 :(得分:1)

使用提供的API实际上非常简单:

  • 您可以Pattern p = Pattern.compiler("regexp")
  • 生成正则表达式模式
  • 您尝试将模式与所需的字符串匹配:Matcher m = p.matches(string)
  • 最后你迭代捕获的群组

    for (int i = 0; i < m.groupCount(); ++i) System.out.println(m.group(i));

答案 2 :(得分:1)

此外,您可以随时查看有关REGEX的“官方”教程:here