正则表达式,用于以数字开头但仅以一个“-”和一个字母结尾的字符串

时间:2018-06-26 07:30:39

标签: javascript regex

我正在尝试编写一个正则表达式模式检查,以检查我的字符串是否以数字开头并且仅以“-”和一个字母结尾。应该通过的正则表达式相同的是1234-M

我怎么写这个?我写了这个,但是它允许在末尾使用多个字母,并且不添加“-”。

"^\d*(?:_?[A-Za-z]{1,1})*$"

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

也许这就是你的意思?

^\d+-[A-Za-z]$

主要更正是:

  • 您始终总是希望至少有一个数字,因此请使用\d+而不是\d*。后者可以匹配0个数字。
  • 您写的是下划线而不是连字号吗?
  • {1,1}是不必要的
  • *的末尾表示末尾可以有0个或多个字母。您只想要一个字母,所以应该删除它。
  • 因此,不需要捕获的组。

Demo