使用 JavaScript 正则表达式匹配非(0 个或多个“0”)

问题描述 投票:0回答:1

我对在 JavaScript 上编写正则表达式有点困惑。我想编写一个正则表达式来匹配一个字符串

  • 以这些字母之一开头:tysjod ;
  • 并且,如果它仅包含数字,则 NOTONLY 0 个或多个“0”
  • 组成

匹配测试用例:

  • “是”
  • “1”
  • “1010”
  • “0”

不匹配的测试用例:

  • “不”
  • “0”
  • “00”
  • “”

到目前为止我已经写了这篇文章,但不太正确。我不知道出了什么问题:

return value.match(/(^[tysjod])|!(^0*$)/i);

我可以像这样将

^
$
括在括号中吗?只是想知道...

javascript regex
1个回答
0
投票

您可以使用否定前瞻方法:

^[tysjod](?:.*\D.*|(?!0{2}$)\d+)$
© www.soinside.com 2019 - 2024. All rights reserved.