Ви хочете знайти елементи, що містять "збіг", або рівний "збіг"?
Тут буде знайдено елементи, які мають текстові вузли, що дорівнюють "збігу" (не відповідає жодному з елементів через пробіли, що ведуть та відстають random2):
//*[text()='match']
Це знайде всі елементи, які мають текстові вузли, що дорівнюють "збігу", після видалення пробілів, що ведуть і відстають (збігів random2):
//*[normalize-space(text())='match']
Буде знайдено всі елементи, що містять "match" у текстовому значенні вузла (match random2і random3):
//*[contains(text(),'match')]
Це рішення XPATH 2.0 використовує matches()функцію та шаблон регулярного виразу, який шукає текстові вузли, що містять "збіг" і починаються на початку рядка (тобто ^) або межі слова (тобто \W) і закінчуються кінцем рядка (тобто $) або межа слова. Третій параметр iобчислює регістр шаблону, що не враховує регістр. (матчі random2)
//*[matches(text(),'(^|\W)match($|\W)','i')]