Как мне сопоставить всю строку с регулярным выражением?

Мне нужно регулярное выражение, которое будет находить совпадения, когда вся строка соответствует моему запросу.

Например, если я занимаюсь поиском фильмов с названием «Красный Октябрь», я хочу только совпадение с этим точным заголовком (без учета регистра), но не с такими названиями, как «The Hunt For Red October». Не совсем уверен, что знаю, как это сделать. Кто-нибудь знает?

Благодаря!

Попробуйте следующее регулярное выражение:

 ^Red October$ 

По умолчанию регулярные выражения чувствительны к регистру. Знак ^ обозначает начало совпадающего текста и $ end.

Как правило, и с настройками по умолчанию привязки ^ и $ являются хорошим способом обеспечения соответствия регулярного выражения целой строке.

Несколько оговорок:

Если у вас есть чередование в вашем регулярном выражении, обязательно приложите ваше регулярное выражение в группе, не захватывающей, прежде чем окружать ее с помощью ^ и $ :

 ^foo|bar$ 

конечно, отличается от

 ^(?:foo|bar)$ 

Кроме того, ^ и $ могут принимать другое значение (начало / конец строки вместо начала / конца строки ), если установлены определенные параметры. В текстовых редакторах, поддерживающих регулярные выражения, обычно это поведение по умолчанию. На некоторых языках, особенно Ruby, это поведение нельзя даже отключить.

Поэтому есть еще один набор якорей, которые гарантированно будут совпадать только в начале / конце всей строки:

\A соответствует началу строки.

\Z совпадает в конце строки или перед окончанием разрыва строки.

\z совпадает в самом конце строки.

Но не все языки поддерживают эти якоря, особенно JavaScript.

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

 Regex.Match("Red October", "^Red October$"); // pass Regex.Match("The Hunt for Red October", "^Red October$"); // fail 

Вам нужно приложить ваше регулярное выражение в ^ (начало строки) и $ (конец строки):

 ^Red October$ 

Я знаю, что это может быть немного поздно, чтобы ответить на это, но, возможно, это будет полезно для кого-то другого.

Самый простой способ:

 var someString = "..."; var someRegex = "..."; var match = Regex.Match(someString , someRegex ); if(match.Success && match.Value.Length == someString.Length){ //pass } else { //fail } 

Извините, но это немного неясно.

Из того, что я читал, вы хотите сделать простое сравнение строк. Для этого вам не нужно регулярное выражение.

 string myTest = "Red October"; bool isMatch = (myTest.ToLower() == "Red October".ToLower()); Console.WriteLine(isMatch); isMatch = (myTest.ToLower() == "The Hunt for Red October".ToLower()); 

Согласование всей строки может быть выполнено с помощью ^ и $ как сказано в предыдущих ответах.

Чтобы сделать регистр нечувствительным к регистру, вы можете реализовать хак, который включает classы символов. Много classов персонажей.

 ^[Rr][Ee][Dd] [Oo][Cc][Tt][Oo][Bb][Ee][Rr]$ 

Вы можете сделать это, как этот Exemple, если я только хочу поймать один раз письмо минус a в строке, и его можно проверить с помощью myRegex.IsMatch ()

^ [^ e] [e] {1} [^ e] $

  • Regex для разделения CSV
  • Проверка формата даты на языке Java
  • Разница между std :: regex_match и std :: regex_search?
  • Регулярное выражение для проверки пароля
  • Проверка правильности выражения в jQuery
  • Передача параметров в действие с помощью ModelDriven в Struts 2
  • Извлечение IP-адресов из строк с использованием регулярных выражений
  • Regex.Match целые слова
  • C ++ 0x регулярное выражение в GCC
  • Удалить все пустые строки
  • удалить все числовые символы из столбца mysql
  • Interesting Posts

    Есть ли способ «отключить» подключенный сетевой диск, но НЕ удалять сопоставление?

    Как бы вы сделали строку, разделенную запятыми, из списка строк?

    Вложенные маршруты и динамическая маршрутизация в React-router v4

    Выберите «Макс» () с помощью «group by» в mongodb

    Значок пиктограммы на значок панели задач (2) добавлен

    Тестирование / интеграция Тестирование веб-API с помощью HttpClient в Visual Studio 2013

    как проверить, если заданная строка c ++ или char * содержит только цифры?

    iPhone – UIImagePickerControllerDelegate наследование

    Установить фокус на EditText

    Как firstprivate и lastprivate отличаются от private clauses в OpenMP?

    За последние 10 лет накопители дисков стали намного быстрее?

    У меня нет настроек загрузки в утилите SETUP прошивки вообще, и поэтому я не могу ничего загрузить

    В чем разница между регулярной строкой и стенографической строкой?

    Размер символа (‘a’) в C / C ++

    Как перейти на новую веб-страницу в Selenium?

    Давайте будем гением компьютера.