Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 匹配多个条件?_Java_Regex - Fatal编程技术网

Java 匹配多个条件?

Java 匹配多个条件?,java,regex,Java,Regex,我想做的是,如果我有这样一个文本:“这是一个例子23*45和34”。我想得到“23*45”和“34”。我在查找“23*45”或“34”时没有问题,但在同时获取这两个时遇到问题。。 这就是我现在得到的: "(-?)([0-9]+)\*(-?)([0-9]+)" 要获得“23*45”和“34”,您可以使用: 解释 匹配一个或多个数字\d+ 非捕获组(?: 它将匹配一个星号和一个或多个数字\*\d+ 关闭非捕获组) 将非捕获组设置为可选? 要获得“23*45”和“34”,您可以使用: 解释

我想做的是,如果我有这样一个文本:“这是一个例子23*45和34”。我想得到“23*45”和“34”。我在查找“23*45”或“34”时没有问题,但在同时获取这两个时遇到问题。。 这就是我现在得到的:

"(-?)([0-9]+)\*(-?)([0-9]+)"
要获得“23*45”和“34”,您可以使用:

解释

  • 匹配一个或多个数字
    \d+
  • 非捕获组
    (?:
    • 它将匹配一个星号和一个或多个数字
      \*\d+
  • 关闭非捕获组
  • 将非捕获组设置为可选
要获得“23*45”和“34”,您可以使用:

解释

  • 匹配一个或多个数字
    \d+
  • 非捕获组
    (?:
    • 它将匹配一个星号和一个或多个数字
      \*\d+
  • 关闭非捕获组
  • 将非捕获组设置为可选

使乘法部分可选:
\d+(\*\d+)
只需使*可选:(?)([0-9]+)*?(?)([0-9]+)使乘法部分可选:
\d+(\*\d+)
只需使*可选:(?)(([0-9]+)*?(?)([0-9]+)漂亮!泰!因此,如果我理解添加的部分,“:regex代码?”是“可选”部分?编辑:看到你更新了,泰!:)@Salviati我更新了我的答案并添加了更多的解释<代码>(?:使其成为非捕获组。
)?
使非捕获组成为可选组。这可能是一个关于尼斯的有用页面!泰!因此,如果我理解添加的部分,“:regex代码?”是“可选”部分?编辑:看到你更新了,泰!:)@Salviati我更新了我的答案并添加了更多的解释<代码>(?:使其成为非捕获组。
)?
使非捕获组成为可选组。这可能是一个关于