使用正则表达式查找字符串中不匹配的字符?

sil*_*lla 5 .net c# regex

如果我能检查字符串是否有无效字符:

Regex r = new Regex("[^A-Z]$");
string myString = "SOMEString"; 
if (r.IsMatch(myString)) 
{     
  Console.WriteLine("invalid string!");
} 
Run Code Online (Sandbox Code Playgroud)

没事.但是我想打印出这个字符串中的每个无效字符?就像在例子中SOMEString =>无效的字符是t,r,i,n,g.有任何想法吗?

Hab*_*bib 5

使用LINQ.下面将给出一个包含5个元素的数组,与正则表达式不匹配.

char[] myCharacterArray = myString.Where(c => r.IsMatch(c.ToString())).ToArray();
foreach (char c in myCharacterArray)
{
    Console.WriteLine(c);
}
Run Code Online (Sandbox Code Playgroud)

输出将是:

t
r
i
n
g
Run Code Online (Sandbox Code Playgroud)

编辑:

看起来,您希望将所有小写字符视为无效字符串.你可以尝试:

   char[] myCharacterArray2 = myString
                                   .Where(c => ((int)c) >= 97 && ((int)c) <= 122)
                                   .ToArray(); 
Run Code Online (Sandbox Code Playgroud)