我有一个HTML文档,我需要能够在文档文本中找到可以或不可以包含连字符的精确匹配。我使用Java和Jsoup。在jsoup中查找包含连字符的确切文本
HTML文档例如可以有以下几种:
<li>some text ABCDE some text</li>
<li>some text ABCDE-kriterierna some text</li>
或
<li>ABCDE</li>
<li>ABCDE-kriterierna</li>
我有我需要匹配的HTML文档中的文本输入字符串列表。其中两个输入字符串可能是“ABCDE”和“ABCDE-kriterierna”。 我需要用Jsoup或正则表达式来精确匹配这些输入单词。也就是说,“ABCDE-kriterierna”只能找到第二个列表元素,而不是第一个。输入字“ABCDE”应该只能找到第一个列表元素,而不是第二个。
对于输入词“ABCDE-kriterierna”,这没有问题。这Jsoup CSS选择器将只找到第二个列表元素:
:containsOwn(ABCDE-kriterierna)
的问题是,我无法找到一个正则表达式/选择器为输入字“ABCDE”,只找到第一个列表元素。我不能使用正则表达式\sABCDE\s
,因为我不能假定周围的空间。 我试过以下,但都找到“ABCDE-kriterierna”。
:matchesOwn(\bABCDE\b)
:containsOwn(ABCDE)
任何想法?请帮助...
如果'ABCDE'由空格包围,你可以使用'\ s',而不是'\ B'。 – Rahul
@Rahul不幸的是,情况并非总是如此。我已经更新了问题中的示例。 – poa
_我有一个输入单词列表_:当你说**单词**时,它是在自然语言的背景下,如英语。然后它应该被空间包围。 – Rahul