检查字符串的结尾

Adm*_*eur 3 .net c# regex

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


例如:

EX-A1 >>>比赛.结束-A后跟1

BLA-A21 >>>比赛.结束-A,然后是21

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

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

我尝试了什么:

Regex.Match(myString, "-A\\d+").ToString();
Run Code Online (Sandbox Code Playgroud)

这个问题是它匹配-A后跟字符串中的任何数字.我需要检查-A后跟一个数字是否在字符串的末尾.

p.s*_*w.g 8

使用结束锚($):

Regex.Match(myString, "-A\\d+$")
Run Code Online (Sandbox Code Playgroud)

这将匹配输入字符串的末尾(或多行模式中的行),确保没有其他字符跟随匹配.

另请注意,如果您要做的只是测试字符串是否与给定模式匹配,您可以使用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
Run Code Online (Sandbox Code Playgroud)


Ser*_*kiy 6

使用$指定字符串的结尾:

Regex.Match(myString, @"-A\d+$").ToString();
Run Code Online (Sandbox Code Playgroud)

请参见字符串的开始和字符串锚点的结束