Skip to main content
 首页 » 编程设计

c#之基本正则表达式帮助

2024年02月03日33softidea

我正在尝试匹配名称模式。一个名字可以是

lastname,firstname middleinitial

或

lastname,firstname

我正在尝试创建一个正则表达式来检查字符串的最后 2 个字符是 [space][anychar]

我在网上找到了一个教程,上面说要将 A 匹配到你做的字符串的末尾

 A$ 
 
"A" at the end of a line 

在将此应用到我的过程中,我尝试做这样的事情,并且还有很多形式。我真的不知道 :/

([\\s][A-Za-z]$)  

请您参考如下方法:

无需正则表达式即可轻松检查最后两个字符。

bool hasMiddleInitial = false; 
if (name.Length > 1 && 
    name[name.Length-2] == ' ' && 
    char.IsLetter(name, name.Length-1)) 
{ 
    hasMiddleInitial = true; 
} 

这比正则表达式更清晰(更具可读性)并且执行速度更快。它让您不必担心非英文字母(A-Z 是一个非常有限的集合!)。

(附:您也可以使用 char.IsWhiteSpace 而不是直接与 ' ' 进行比较;这样它也可以与其他空格字符一起使用。例如,亚洲用户可能输入 U+3000 表意空间而不是标准的 U+0020 空间。)