我怎样才能创建一个从标记中提取数字和字母的函数,我正在尝试使用c sharp中的词法分析器,它从cpp文件中提取变量数据类型的liberaries 我希望我的函数提取数字和字母,我已设法生成提取变量的函数,数据类型n库
例如,我想要这两个函数的组合
bool IsDigit(char ch)
{
return (ch >='0' && ch <= '9');
}
bool IsAlpha(char ch)
{
return (ch >='a' && ch <= 'z'|| ch>'A '&& ch<'Z');
}
任何想法??
答案 0 :(得分:1)
您是否尝试这样做:
private bool IsAlphaNumeric(string letter)
{
return Regex.IsMatch(letter, @"^[a-zA-Z0-9]");
}
答案 1 :(得分:0)
你可以试试这个: -
Match match = regex.Match("10ABCD");
string letter = match.Groups["letter"].Value;
int number = int.Parse(match.Groups["number"].Value);
或尝试使用正则表达式: -
((?<number>\d+)(?<letter>[a-zA-Z])|(?<letter>[a-zA-Z])(?<number>\d+))
答案 2 :(得分:0)
首先,您应该在IsAlpha
上执行此操作(请注意额外的括号)
((ch >='a' && ch <= 'z')||(ch>'A '&& ch<'Z'))