使用regex逐字符检查
本文关键字:检查 字符 regex 使用 | 更新日期: 2023-09-27 18:22:07
我正在尝试编写一个正则表达式来识别字符串中的字母。我需要一个字符一个字符地在C#中的程序中使用它
String originalData = "90123Abc";
Regex _regex = new Regex(@"[a-zA-Z]$");
foreach (char c in originalData)
{
if (System.Text.RegularExpressions.Regex.IsMatch(c, _regex))
{
System.Console.WriteLine(" (match for '{0}' found)", _regex);
}
else
{
System.Console.WriteLine();
}
}
是否可以使用regex逐字符检查?如果没有,我该怎么办?
for (int i = 0; i < input.Length; i++)
{
if(Char.IsLetter(input[i]))
{
// its alphabetic
}
}
或短期
input.Where(c => char.IsLetter(c)).ToList()
如果将if
语句更改为:,您的代码将编译
if (_regex.IsMatch(c.ToString()))
试试这个:
foreach (Match m in Regex.Matches(originalData, @"[a-zA-Z]{1}"))
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
[a-zA-Z]{1}
将在字符串中的任何位置查找单个大写字母或小写字母。作为奖励,比赛将按从左到右的顺序进行。因此,在匹配中循环会得到字符串中的每个字母。