匹配多个条件?

时间:2018-01-31 17:21:40

标签: java regex

我想要做的是,如果我有这样的文字:"这是一个例子23 * 45和34"。我想得到" 23 * 45"和" 34"。我找到以太没有问题" 23 * 45"或" 34"但在同时获得它们时遇到问题.. 这就是我现在所拥有的:

"(-?)([0-9]+)\*(-?)([0-9]+)"

1 个答案:

答案 0 :(得分:3)

要获得“23 * 45”和“34”,您可以使用:

\d+(?:\*\d+)?

<强>解释

  • 匹配一个或多个数字\d+
  • 非捕获组(?:
    • 匹配星号和一个或多个数字\*\d+
  • 关闭非捕获组)
  • 使非捕获组可选?