首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

用正则表达式排出特殊的字符串解决思路

2012-04-03 
用正则表达式排出特殊的字符串如何判断一个字符串不含了下面任何的字符?\ / [ ] : | + , ? * @

用正则表达式排出特殊的字符串
如何判断一个字符串不含了下面任何的字符?

\ / " [ ] : | < > + = ; , ? * @


怎么用反义具体的写,目前不知道怎么把" [ ] 这三个字符加进来。
string pattern = @"^[^\\/@:|<>+=;,?*]+$";
if (Regex.IsMatch(username, pattern, RegexOptions.IgnoreCase) == false)
{
  MessageBox.Show("NO, " + username);
}
 else
{
  MessageBox.Show("OK, " + username);
}

[解决办法]

C# code
Regex re = new Regex(@"[\\/""\[\]\:\\|\<\>\+\=\;\,\?\*\@]", RegexOptions.None);             if(re.IsMatch("你要验证的字符串")){     //含用特殊字符}else{    //不含用特殊字符}
[解决办法]
原来是要排除,用下面这个

C# code
  static void Main(string[] args)            {                string str = @"\/ "" [ ] : | cb< > + = ; , ? * @abc";                StringBuilder sb = new StringBuilder();                Regex re = new Regex(@"[^\\/""""\[\]\:\\|\<\>\+\=\;\,\?\*\@]", RegexOptions.IgnorePatternWhitespace);                MatchCollection mc = re.Matches(str);                foreach (Match ma in mc)                {                    sb.Append(ma.Value.Trim());                }                Console.WriteLine(sb);                Console.ReadLine();                                            }//输出结果:cbabc 

热点排行