2014-12-21 3 views
0

Jsoup содержит селекторы :contains(text), которые будут соответствовать thetextishere. Что делать, если мне нужны только точные совпадения, а не подстроки? То есть, какой селектор можно использовать для соответствия text, но не superstringoftextishere?Селектор точно соответствует тексту?

+0

Посмотрите на ответ, который я только что отправленную. В нем объясняется, как выбирать конкретные точные слова. –

ответ

3

http://jsoup.org/cookbook/extracting-data/selector-syntax

:matches(regex): найти элементы, текст соответствует заданному регулярному выражению; например div:matches((?i)login)

Так что я думаю, что вы могли бы использовать это:

:matches(^text$) 
+0

Вы попробовали? Я уже пробовал, и ничего не возвращает. Проб. потому что движок регулярных выражений хочет новых строк, когда видит эти символы. – SRobertJames

+0

Я был неправ - это работает! Причина, по которой мои тесты потерпели неудачу, состояла в том, что изначально «p: matches (text)» 'будет соответствовать'

текст

', но с точным соответствием' 'p: matches (^ text $)" 'ничего не возвращает; вам нужно сделать «p span: matches (^ text $)» ' – SRobertJames

Смежные вопросы