我正在尝试使用正则表达式并检查给定的字符串是否以数字结尾
asdf4-24rwefaw-234tefg-teer6666
wert34-g54g5-345g345-25trv3457
编辑
由于您从字符串末尾删除了可选空格,
var correct = char.IsDigit(yourString.Last());
就足够了。
--
你可以做
var correct = char.IsDigit(yourString.TrimEnd().Last());
作为Regex
.
也许,
var correct = char.IsDigit(yourString.Reverse()
.First(c => !char.IsWhiteSpace(c)));
如果你想反复做,这Regex
是要走的路。一旦实例化,我怀疑它会更快。
你可以使用这个:
+-- a digit
|
| +-- end of string
-+ |
Regex.Match("asdf4-24rwefaw-234tefg-teer6666", @"\d\s*$").Success
-+-
|
+-- zero or more whitespace
var s = "asdf4-24rwefaw-234tefg-teer6666";
bool endsWithNumber = Regex.IsMatch(s, @"\d$");