java - 在java中输出匹配的捕获组

标签 java regex

我是正则表达式的新手,正在尝试处理以下正则表达式以识别给定文本中的序数

((\\d*1)st|(\\d*2)nd|(\\d*3)rd|(\\d+)th)

我只想捕获文本的数字部分进行解析,即。如果文本是 21st 那么我想捕获 21 以解析为 Integer 。我知道如何匹配正则表达式以了解模式是否存在并获取特定组。有什么方法可以让匹配的组作为表达式的输出来提取值?

提前致谢

最佳答案

您可以像这样重写您的正则表达式以使用非捕获组:

(?:(\\d*)(?:st|nd|rd|th))

关于java - 在java中输出匹配的捕获组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16571076/

相关文章:

regex - 获取 clojure 上正则表达式的所有匹配项

Java 正则表达式 - 如何仅读取 5 到 7 位数字

java - Java有缓冲区溢出吗?

java - 进程已完成,退出代码 1 Spring Boot Intellij 无其他日志

java - 为什么类型删除后信息被保存了?

regex - 使用 DOS/批处理以随机长度拆分字符串

javascript - JS 正则表达式 : Replace all but first

javascript - 我如何识别这些 "default-more-or-less"类型的字符串?

java - 在 fragment 中使用上下文

java - Redis:具有大小限制和 LRU 驱逐功能的 HashMap