如何检查字符串是否以-A后跟数字结尾?
例如:
EX-A1 >>>比赛.结束-A后跟1
BLA-A21 >>>比赛.结束-A,然后是21
DGUA5 >>>不匹配.不以-A后跟数字结尾
CDL-A1A >>>不匹配.不以-A后跟数字结尾
我尝试了什么:
Regex.Match(myString, "-A\\d+").ToString();
这个问题是它匹配-A后跟字符串中的任何数字.我需要检查-A后跟一个数字是否在字符串的末尾.
使用结束锚($
):
Regex.Match(myString, "-A\\d+$")
这将匹配输入字符串的末尾(或多行模式中的行),确保没有其他字符跟随匹配.
另请注意,如果您要做的只是测试字符串是否与给定模式匹配,您可以使用IsMatch
:
Regex.IsMatch("EX-A1", "-A\\d+$") // true Regex.IsMatch("BLA-A21", "-A\\d+$") // true Regex.IsMatch("DGUA5", "-A\\d+$") // false Regex.IsMatch("CDL-A1A", "-A\\d+$") // false
使用$
指定字符串的结尾:
Regex.Match(myString, @"-A\d+$").ToString();
请参见字符串的开始和字符串锚点的结束