gpt4 book ai didi

java - 使用正则表达式无法仅找到一个单词

转载 作者:行者123 更新时间:2023-12-01 15:26:18 26 4
gpt4 key购买 nike

我试图在 java 中“查找”一系列非常具体的字符,但我的正则表达式无法正常工作。

我想找到一个单词(任何单词),然后是一个空格,然后是一个正斜杠,然后是另一个空格,然后是一个“M”(小写或大写),然后是一系列数字。我正在使用以下行:

Elements rating = doc.getElementsMatchingText(Pattern.compile("\\b\\s/\\s[mM][0-9]+")); 

但是这是查找整行(预期模式之前和之后的单词)。这也没有帮助:

Elements rating = doc.getElementsMatchingText(Pattern.compile("^\\b\\s/\\s[mM][0-9]+"));    

我做错了什么?

最佳答案

您的情况的正确模式是 \\b\\w+\\s/\\s[mM][0-9]+

但是,您描述的问题与您使用的 API 有关,而不是与模式有关。请注意,getElementsMatchingText 不允许您访问匹配详细信息,因此您无法提取与模式匹配的部分文本。

您需要手动迭代 doc 的所有元素,并将 Matcher.find() 应用于每个元素的文本,或者简单地应用 Matcher。 find() 再次使用相同的模式查找 getElementsMatchingText 返回的元素文本。然后您就可以将匹配的部分提取为 Matcher.group()

关于java - 使用正则表达式无法仅找到一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10092246/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com