Шаблон регулярных выражений со специальными символами - PullRequest
1 голос
/ 06 декабря 2011

Я работаю над шаблоном регулярных выражений, но он содержит ряд специальных символов. Я не совсем уверен, как включить их в обычную строку шаблона регулярного выражения. В частности, мне нужно проверить, содержит ли строка '+ / -'...

Я пытался использовать кавычки и т. Д., Но мне не повезло (я чрезвычайно новичок в регулярных выражениях). Я кодирую это в C # 4.0.

Пример одной строки: «3Z1Z +/- 5.5»

Любая помощь очень ценится - Большое спасибо!

Ответы [ 2 ]

2 голосов
/ 06 декабря 2011

Создайте простое регулярное выражение:

foundMatch = Regex.IsMatch(SubjectString, @"\+/-");

Вернет true, если эта последовательность символов найдена где-либо в вашей строке. Объяснение оставлено вам в качестве упражнения.

Подробнее здесь .

1 голос
/ 06 декабря 2011

Они являются частью списка спецсимволов ( см. Также ).По сути, добавьте их в шаблон, добавив перед ними обратную косую черту (\).например, + становится \+

^\+|\-$     # + or -

То же самое относится ко всему, что имеет особое значение, например ., {, }, (, ),^, $, |, [, ] и т. Д.

Однако есть некоторые исключения.Например, при создании класса, такого как: [a-z] дефис (-) будет иметь особое значение (все буквы от a до z).Поэтому, если вы хотите использовать буквальный дефис, вам придется его избегать (если только он не станет последним символом класса).например,

[a-z-A-Z]      # hyphen should be escaped if you wanted a literal hyphen
[a-z\-A-Z]     # the "correct" counter-part

[a-zA-Z-]      # actually legal because it's inserted as the last character
               # and therefor treated as a literal hyphen despite not being
               # escaped.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...