Регулярное выражение, чтобы проверить, существует ли точная строка - PullRequest
1 голос
/ 13 мая 2010

Я ищу способ проверить, существует ли точное совпадение строк в другой строке, используя Regex или любой другой предложенный лучший метод. Я понимаю, что вы указываете регулярному выражению совпадать с пробелом или любым другим несловесным символом в начале или конце строки. Тем не менее, я точно не знаю, как его настроить.

Строка поиска: t

Строка 1: Hello World, Nice to see you! t
Строка 2: Hello World, Nice to see you!
Строка 3: T Hello World, Nice to see you!

Я хотел бы использовать строку поиска и сравнить ее со строкой 1, строкой 2 и строкой 3 и получить только положительное совпадение из строки 1 и строки 3, но не из строки 2.

Требования:
Строка поиска может находиться в любой позиции символа в теме.
До или после него может быть или не быть символа пробела.
Я не хочу, чтобы он совпадал, если он является частью другой строки; как часть слова.

Ради этого вопроса: Я думаю, что я сделал бы это, используя этот шаблон: /\bt\b/gi

/\b{$search_string}\b/gi

Это выглядит правильно? Можно ли сделать это лучше? В каких ситуациях этот шаблон не работал?
Дополнительная информация: это будет использоваться в PHP 5

Ответы [ 3 ]

2 голосов
/ 13 мая 2010

выглядит хорошо для меня. Возможно, вы захотите проверить точное значение утверждения \ b , чтобы убедиться, что это именно то, что вам нужно.

Не могу назвать ни одной ситуации, в которой этот шаблон "не будет работать" без более подробного описания, но \b отлично подойдет для ваших тестовых случаев.

2 голосов
/ 13 мая 2010

Ваше предложение /\bt\b/gi сработает и, вероятно, это путь. Вы правильно использовали \b для границ слов. Вы используете глобальные и без учета регистра модификаторы, которые найдут все совпадения в обоих случаях. Просто, прямо, чисто. Смотрите не дальше того, что вы уже придумали.

1 голос
/ 13 мая 2010

Согласно старой поговорке, дайте человеку регулярное выражение, и он счастлив на день, научите его писать регулярные выражения, и он счастлив на всю жизнь (или что-то в этом роде), попробуйте " regulato г "

Он предоставляет графический интерфейс и несколько довольно хороших примеров для нужд reg exp.

...