2 个数字和一个符号的正则表达式

regex for 2 numbers and a sign

我需要一个 preg_match 和正则表达式来控制数字输入。

用户必须输入 1-80 之间的数字。 但是在 1-80 之后,所以第三个输入可以是 + 号或 ^.

因此 1-80 是可能的,但 79+ 或 61^ 必须是可能的

这可以用正则表达式吗?

我现在的代码:

[0-7][0-9]|80

但是现在我无法在输入法中输入1-9。 谁能帮帮我

部分[0-7][0-9]也可以匹配00并且至少匹配2个字符。

你可以使用

^(?:[1-9]|[1-7][0-9]|80)[+^]?$
  • ^ 字符串开头
  • (?:非捕获组
    • [1-9]匹配数字1-9
    • |
    • [1-7][0-9] 匹配 10-79
    • |
    • 80字面匹配
  • ) 关闭群组
  • [+^]? 可选择匹配 +^(其中 ^ 不应位于字符 class 的开头)
  • $ 字符串结束

Regex demo