正则表达式 - 旁边没有相同数字的数字

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

我正在寻找适合每个数字的正则表达式,它是由0,1,2制成的,旁边没有相同的数字 - 02021适合,0122不适合。如何写?

regex
2个回答
5
投票

您可以从0到2之间的数字开始。捕获组中的内容并检查以下内容是否为捕获的值。在非捕获组中捕获并重复该操作。

^(?:([0-2])(?!\1))*$

说明

  • 从字符串^开始
  • 非捕获组(?:
  • 捕获组(
  • 字符范围从0到2 [0-2]
  • 关闭捕获组)
  • 负向前瞻(?!
  • 断言下面的内容不等于第一个捕获组
  • 关闭负面前瞻)
  • 关闭非捕获组)
  • 重复非捕获组零次或多次*
  • 字符串$的结尾

1
投票

您可以使用以下正则表达式:

^(([012])(?!\2))+$

在这里测试:https://regex101.com/r/6vevDl/1

© www.soinside.com 2019 - 2024. All rights reserved.