【问题标题】:Regex with first cap char + digits带有第一个大写字符 + 数字的正则表达式
【发布时间】:2021-08-01 23:18:29
【问题描述】:

我在这个问题上碰壁了,所以寻求帮助。

我的字符串必须采用以下格式:

777_7.70B_A777777
777_7.7B_A777777
777_7.7_A777777

我让前 2 组工作正常,但我无法让最后一组工作。 这是我的正则表达式:

^\\d{3}_\\d{1,2}[.]\\w{1,3}_\\[A-Z0-9]{7}$

试图让 [A-Z0-9]{7}A777777 工作……至少。 真棒的是有一个规则,允许在开头只允许一个大写字符后跟 6 个数字......但那是一个肉汁。

提前谢谢你!

【问题讨论】:

  • 好的,非常感谢!

标签: c# regex


【解决方案1】:

你可以使用

^\d{3}_\d{1,2}\.[^\W_]{1,3}_[A-Z0-9]{7}$
^\d{3}_\d{1,2}\.[^\W_]{1,3}_[A-Z]\d{6}$

请参阅regex demo #1this regex demo #2

详情

  • ^ - 字符串开头
  • \d{3} - 三位数
  • _ - 一个 _ 字符
  • \d{1,2} - 一位或两位数
  • \. - 一个 . 字符
  • [^\W_]{1,3} - 除了_ 之外的一到三个单词字符
  • _ - 一个 _ 字符
  • [A-Z] - 一个大写的 ASCII 字母
  • \d{6} - 六位数
  • $ - 字符串结束。

如果您只需要允许 ASCII 字符,请使用 RegexOptions.ECMAScript 编译正则表达式。

【讨论】:

  • 谢谢!我以为我离得更近了。你为我节省了大量时间!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多