如何检查字符串是否以 -A 结尾,然后是 数字 ?
例如:
EX-A1 >>>比赛。结尾为 -A ,然后是 1
BLA-A21 >>>比赛。结尾为 -A ,然后是 21
DGUA5 >>>不匹配。不以 -A 结尾,后跟数字
CDL-A1A >>>不匹配。不以 -A 结尾,后跟数字
我尝试了什么:
Regex.Match(myString, "-A\\d+").ToString();
问题在于它匹配字符串中任何位置的 -A ,后跟数字。我需要检查 -A 后跟数字是否在字符串的末尾。
答案 0 :(得分:8)
使用end anchor($
):
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
答案 1 :(得分:6)
使用$
指定字符串结尾:
Regex.Match(myString, @"-A\d+$").ToString();