正则表达式:0-9 A-Z a-z或其中任何一个'!#$%&'* + - / =?^ _`{|}〜

时间:2010-06-21 08:59:14

标签: c# asp.net regex

我需要将正则表达式字符串myString只包含:

  • 0-9
  • A-Z或a-z
  • 这些字符中的任何一个'!$ $&'* + - / =?^ _`{|}〜。

这是我的代码行:

new Regex("[a-zA-Z0-9]").IsMatch(myString);

到目前为止,我有[a-zA-Z0-9],这对前两个列表项有效。 目前,我的头发已被撕掉了(而且我很想保留它),而不是元字符,无处可去。

非常感谢任何帮助。 谢谢。 戴夫

4 个答案:

答案 0 :(得分:4)

嗨那里如果您只想要字符串中列出的字符,那么它非常简单。但是您需要匹配开头的行尾

new Regex("^[a-zA-Z0-9'!#$%&'*+/=?^_`{|}~.-]*$").IsMatch(myString);

答案 1 :(得分:3)

"[a-zA-Z0-9'!#$%&'*+/=?^_`{|}~.-]"

检查(“ - ”)减号是[]序列中的最后一个字符

答案 2 :(得分:2)

支架之间的元字符很好,只要你逃避重要字符。此外,短划线必须是你序列中的最后一个。

new Regex("[a-zA-Z0-9'!#$%&'*+/=?^_`{|}~-]").IsMatch(myString);

答案 3 :(得分:1)

尝试:

var re = "[a-zA-Z0-9" +  Regex.Escape("'!#$%&'*+-/=?^_`{|}~.") + "]";