Java 搜索照看和正则表达式组合

Java 搜索照看和正则表达式组合,java,regex,Java,Regex,我正试图使用逻辑条件重写我的正则表达式,并且: (?您可以使用 "\\bpies\\s+osa\\W*(\\w+\\s*\\d+)" 请参阅。结果在第1组中 注意:如果数字可能丢失,请使用(\\w+(?:\\s*\\d+)而不是(\\w+\\s*\\d+) 详细信息: \b-单词边界 pies\s+osa-pies,1+空格,osa \W*-零个或多个非单词字符 (\w+\s*\d+)-组1捕获以下序列: \w+-1+字字符 \s*-0+空格 \d+-1+位 : 你可以用 "\\bpi

我正试图使用逻辑条件重写我的正则表达式,并且:

(?您可以使用

"\\bpies\\s+osa\\W*(\\w+\\s*\\d+)"
请参阅。结果在第1组中

注意:如果数字可能丢失,请使用
(\\w+(?:\\s*\\d+)
而不是
(\\w+\\s*\\d+)

详细信息

  • \b
    -单词边界
  • pies\s+osa
    -
    pies
    ,1+空格,
    osa
  • \W*
    -零个或多个非单词字符
  • (\w+\s*\d+)
    -组1捕获以下序列:
    • \w+
      -1+字字符
    • \s*
      -0+空格
    • \d+
      -1+位
:

你可以用

"\\bpies\\s+osa\\W*(\\w+\\s*\\d+)"
请参阅。结果在第1组中

注意:如果数字可能丢失,请使用
(\\w+(?:\\s*\\d+)
而不是
(\\w+\\s*\\d+)

详细信息

  • \b
    -单词边界
  • pies\s+osa
    -
    pies
    ,1+空格,
    osa
  • \W*
    -零个或多个非单词字符
  • (\w+\s*\d+)
    -组1捕获以下序列:
    • \w+
      -1+字字符
    • \s*
      -0+空格
    • \d+
      -1+位
:


您试图匹配的字符串在哪里?对于逻辑AND:@MohammadYusufGhazi,我在您的帖子中尝试了该字符串,但没有帮助。在正则表达式问题中,您必须包括应该匹配的字符串和不应该匹配的字符串。这使回答更容易。更新您的问题。@MohammadYusufGhazi,您能帮助我吗?您在哪里您试图匹配的字符串?对于逻辑AND:@MohammadYusufGhazi,我在您的帖子中尝试了该字符串,但没有帮助。在正则表达式问题中,您必须包括应该匹配的字符串和不应该匹配的字符串。这使得回答更容易。更新您的问题。@MohammadYusufGhazi完成了,您能帮助我吗?很高兴它对您有效如果我的回答证明对你有帮助(请参阅),请考虑一下投票。很高兴对你有帮助。如果我的答案对你有帮助的话,请考虑一下投票。
String str = "pies osa. Pszczol 10, miod mis kon, pies osa. Kon 15";
Pattern ptrn = Pattern.compile("\\bpies\\s+osa\\W*(\\w+\\s*\\d+)");
Matcher matcher = ptrn.matcher(str);
while (matcher.find()) {
    System.out.println(matcher.group(1));
}
// => Pszczol 10, Kon 15