求解几个正则表达式

2021-06-20 12:49:53 +08:00
 HeyHudy

大佬们能不能帮我整几个正则表达式,最后剩下这 5 个属实把我难住了

ABCDDD, such as: 123444, 456777, 345666 ABBBCDDD, such as: 10003888, 34445111, 73338444 AABBCCDD, such as: 33227788, 99770044, 11992200 AAABCCCD, such as: 55538886, 44486667 ABACADAE, such as: 45414347, 12131415

909 次点击
所在节点    正则表达式
5 条回复
HeyHudy
2021-06-20 12:51:58 +08:00
格式有误,重新贴一下

1. ABCDDD, such as: 123444, 456777, 345666

2. ABBBCDDD, such as: 10003888, 34445111, 73338444

3. AABBCCDD, such as: 33227788, 99770044, 11992200

4. AAABCCCD, such as: 55538886, 44486667

5. ABACADAE, such as: 45414347, 12131415
oldshensheep
2021-06-20 14:06:06 +08:00
第一个是其他的类似,可能还可以化简,就这样吧。
(.)(?!\1)(.)(?!\2)(.)(?!\3)(.)(?<=\4).(?<=\4).
这个主要利用正则表达式 "捕获括号" 和 "断言功能"。
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions#special-capturing-parentheses
oldshensheep
2021-06-20 14:41:33 +08:00
@oldshensheep 这个正则表达式有个毛病,就是第一个与第二个不相等,第二个和第三个不相等。这样的话第一个和第三个是可能相等的
oldshensheep
2021-06-20 14:58:56 +08:00
(.)(?!\1)(.)(?!\1|\2)(.)(?!\1|\2|\3)(.)\4\4
最终的正则表达式,应该没问题了……
autoxbc
2021-06-20 15:10:54 +08:00
一个不好写的正则很可能也不好读,不要折磨自己又给别人挖坑

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/784590

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX