正则表达式匹配3个字母的匹配数后跟任意数字

时间:2018-01-09 07:48:12

标签: c# regex

我希望匹配一系列字母和由' - '分隔的任意数字的数字。 。例如ABC-1ABC-12ABC-123ABC-1234等......我查看了示例Regex for numbers onlyhttps://msdn.microsoft.com/en-us/library/3y21t6y4(v=vs.110).aspx。我在下面得到了一个代码。

var regex = new Regex($@"^[A - Z]{{{numberOfLettersBeforeHyphen}}}-\d+");
return regex.IsMatch(stringToMatch);

其中numberOfLettersBeforeHyphen = 3但是对于上面的例子,它总是返回false。请指出错误所在,这将有助于我实现目标。谢谢大家

1 个答案:

答案 0 :(得分:1)

模式中的空格有意义,这就是您当前代码中的原因

  // let payload = {
  //   guess: this.userInput.value
  // };

this.props.dispatch(checkAnswer(this.userInput.value));

表示从空间到空间的范围。放下空格:

 ... Regex($@"^[A - Z]...");

P.S。 var regex = new Regex($@"^[A-Z]{{{numberOfLettersBeforeHyphen}}}-[0-9]+"); ... :.Net [0-9]表示任何 unicode数字,例如波斯语(\d);我放۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹以排除它们。您可能还想添加另一个锚[0-9](如果整个字符串应与模式匹配):

$