检查字符串的结尾

时间:2014-01-03 22:31:15

标签: c# .net regex

如何检查字符串是否以 -A 结尾,然后是 数字


例如:

EX-A1 >>>比赛。结尾为 -A ,然后是 1

BLA-A21 >>>比赛。结尾为 -A ,然后是 21

DGUA5 >>>不匹配。不以 -A 结尾,后跟数字

CDL-A1A >>>不匹配。不以 -A 结尾,后跟数字

我尝试了什么:

Regex.Match(myString, "-A\\d+").ToString();

问题在于它匹配字符串中任何位置的 -A ,后跟数字。我需要检查 -A 后跟数字是否在字符串的末尾。

2 个答案:

答案 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();

请参阅Start of String and End of String Anchors