2016-04-06 7 views
0

Мне нужно сравнить название города, со списком города по регулярному выражению. Проблема в том, что если я попробую «Рому», возьмите город «Arcinazzo Romano» (который содержит ROMA), а не город «ROMA». Вы знаете, что я регулярно работаю?Регулярные выражения на подстроке

+1

Можете ли вы показать код, который вы пробовали? – Neal

+1

'/^Roma $/i' включают идентификаторы начала и конца и регистр, нечувствительный к регистру –

ответ

2

Вы могли бы просто проверить, если ваш конкретный термин был окружен белым пространством или находился в начале или в конце вашей строки:

(^|\s)Roma($|\s) 

Пример этого в действии может выглядеть следующим образом:

enter image description here

Или если вы просто явно хотел, чтобы проверить, если ваша строка была «Рома» точно, без каких-либо других символов, просто использовать выражение запуска/оканчивающиеся символов:

^Roma$ 
2

попробовать с помощью якоря, чтобы гарантировать ROMA начало линии

/^ROMA/ 

http://regexone.com/lesson/line_beginning_end

+0

@ ʰᵈˑ вы отредактировали смысл ответа. Оставьте это до плаката, пожалуйста. – Neal

0

Если вы хотите найти города, чье имя является «Рома», но не города, чье имя содержит «Рома», используйте разделители, чтобы проверить, начинается ли указанная строка. и заканчивается «Рома», используя ^ (начало o е строка) разделителем и $ (конец строки) разделитель, следующим образом:

^Roma$ 
Смежные вопросы