Как проверить, соответствует ли выражение Regex всей строке в c #? - PullRequest
7 голосов
/ 10 января 2010

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

У меня есть выражение регулярного выражения ... Что я хочу сделать, это проверить, соответствует ли строка выражению регулярного выражения в целомбез выражения регулярного выражения, совпадающего с любым подмножеством строки.

Например ...

Если мое выражение регулярного выражения ищет совпадение \ s A \ s *, он должен возвращать совпадение, если строка, с которой он сравнивается, является «A», но если он сравнивается со строкой «AB», он не должен возвращать совпадение.

Любая помощь приветствуется?Я кодирую в C #.

1 Ответ

16 голосов
/ 10 января 2010

Обычно вы используете начальные и конечные якоря ^ и $ соответственно:

^\s*A*\s*$

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

Если вы хотите убедиться, что многострочный ввод представляет собой только одну строку, состоящую из вашего шаблона, вы можете использовать \A и \Z, если поддерживаются - это означает начало и конец string независимо от перевода строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...