Ответ 1
EDIT:
@"^[a-zA-Z0-9\_]+$"
или
@"^\w+$"
Я пытаюсь создать шаблон регулярного выражения в С#. Шаблон может допускать только:
До сих пор мне не повезло (я плохо разбираюсь в RegEx). Вот что я пробовал до сих пор:
// Create the regular expression
string pattern = @"\w+_";
Regex regex = new Regex(pattern);
// Compare a string against the regular expression
return regex.IsMatch(stringToTest);
EDIT:
@"^[a-zA-Z0-9\_]+$"
или
@"^\w+$"
@ "^\ш + $"
\ w соответствует любому символу слова, обозначенному цифрами, буквами и символами подчеркивания. Он поддерживает Unicode, поэтому он будет соответствовать буквам с умляутами и такими (лучше, чем пытаться перевернуть свой собственный класс символов, например [A-Za-z0-9_], который будет соответствовать только английским буквам).
The ^ в начале означает "соответствовать началу строки здесь", а $в конце означает "соответствовать концу строки здесь". Без них, например. если вы просто @@\w + ", то" @@Foo @@ "будет соответствовать, потому что он содержит один или несколько символов слова. С символами ^ и $, тогда" @@Foo @@" не будет соответствовать (что похоже на то, что вы ищете), потому что у вас нет начала строки, за которой следует одно или более слово- символы, за которыми следует конец строки.
Попробуйте поэкспериментировать с чем-то вроде http://www.weitz.de/regex-coach/, который позволяет интерактивно разрабатывать регулярное выражение.
Он предназначен для Perl, но помог мне понять, как регулярное выражение работает на практике.
Regex
packedasciiRegex = new Regex(@"^[!#$%&'()*+,-./:;[email protected][\]^_]*$");