如何使用正则表达式匹配字符串中的一位数字

Ani*_*dha -1 c# regex

我有一个字符串:

AB_INV_23_some_value
Run Code Online (Sandbox Code Playgroud)

我想查一下之后的电话号码AB_INV_。条件是该数字不得超过4(并且该数字应为一位数字)。

我写了一个模式:

^(AB)_(INV)_[0-4]{1}
Run Code Online (Sandbox Code Playgroud)

但是,此模式是matchs AB_INV_23_some_value,而不应该23是matchs ,因为它是2位数字,大于4。

Wik*_*żew 5

在你的模式,[0-4]{1}与从正好1位04,但它不检查数字后会发生什么。可能有任何东西,甚至字符串的末尾或其他数字。

您可以使用

^AB_INV_[0-4](?!\d)
Run Code Online (Sandbox Code Playgroud)

正则表达式演示

细节

  • ^ -字符串开始
  • AB_INV_ -文字子串
  • [0-4]-来自0ot 的数字4...
  • (?!\d) -后面没有任何其他数字。