Регулярное выражение C # - Почему некоторые символы не в нем проверяют условие IsMatch ()? - PullRequest
1 голос
/ 01 июня 2010

Я использую это регулярное выражение для проверки некоторых из моего текстового поля:

Regex re = new Regex("^([äö\x20\x27\x2C\x2D\x5Fò-öà-âù-üç-ï0-9a-zA-Z]+)$");

И когда я вставляю "<" или ">" в один из этих текстовых полей, мое условие должно быть ложным, а не истинным:)

if (re.IsMatch(TextBox.Text)) /*do something */ else Console.write("error invalid char in textbox")

Это так странно, потому что, если я проверю это с RegexBuddy, эти два символа недопустимы, поэтому, если кто-то может мне помочь;)

С уважением,

Cytemax

1 Ответ

4 голосов
/ 01 июня 2010

Попробуйте это:

Regex re = new Regex(@"^([äö\x20\x27\x2C\x2D\x5Fò-öà-âù-üç-ï0-9a-zA-Z]+)$");

Если вы опустите @, это означает, что строка не будет содержать косую черту. В качестве альтернативы вы можете удвоить слеш.

...