我需要一个检查以下内容的正则表达式:
具有7位数字的数字具有以下格式:xxxyxxx 其中y不等于0并且是后继或前任(x + 1或x-1)
示例:
4443444 --> match
4445444 --> match
4442444 --> doesn't match
答案 0 :(得分:0)
我不认为使用RegExp有一种聪明的方法。
你可以简单地强迫你的方式:
1{3}21{3}|2{3}[13]2{3}|3{3}[24]3{3}|4{3}[35]4{3}|5{3}[46]5{3}|6{3}[57]6{3}|7{3}[68]7{3}|8{3}[79]8{3}|9{3}89{3}
请参阅the demo。
1{3}21{3} `1` 3 times + `2` + `1` 3 times
| OR
2{3}[13]2{3} `2` 3 times + (`1` OR `3`) + `2` 3 times
| ...
3{3}[24]3{3}
|
4{3}[35]4{3}
|
5{3}[46]5{3}
|
6{3}[57]6{3}
|
7{3}[68]7{3}
|
8{3}[79]8{3}
|
9{3}89{3}