繁体   English   中英

如何匹配以两个指定字符之一开头的字符串,然后是两个或多个数字

[英]How to match string starting with one of the two specified chars followed by two or more digits

  • 符合条件:X23,A4858,A09387373,X90
  • 不匹配:G23,X23H,A48B59,A48BA484646

我想出了以下几点,

var rex = new Regex(@"^([AX](\d\d)+)");

但这匹配X23H,A48B59,A48BA484646

我如何确保它是一个以'A'或'X'开头,然后是两个或多个数字的字符串?

通过使用{n,}可以完成某些模式中的至少n {n,} 您可能还希望标记字符串的结尾。 尝试做:

var rex = new Regex(@"^([AX]\d{2,})$");

您缺少行尾锚$ ):

var rex = new Regex(@"^([AX](\d\d)+)$");

这就是为什么您的表达式在开始时正确匹配,但在结尾处“抓得太多”的原因。

这应该可以正常工作...将“ A”或“ X”作为第一个字符,后跟两位数字。

var rex = new Regex(@"^[AX]{1}\d{2}$");

您可以使用^和$来最适合您的需求以及regexOptions。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM