大佬们,问个正则

2020 年 8 月 11 日
 EminemW

要满足以下两个条件,只过一遍正则,有可能实现吗 1.字母数字组合超过 5 位 2.纯数字超过 5 位

2176 次点击
所在节点    问与答
20 条回复
teawithlife
2020 年 8 月 11 日
虽然我很想试着帮你,但是奈何看不懂你的要求。。。
EminemW
2020 年 8 月 11 日
@teawithlife 要匹配 字母数字或者纯数字 超过 5 位
itechify
2020 年 8 月 11 日
加个或条件?
kokutou
2020 年 8 月 11 日
|
shakaraka
2020 年 8 月 11 日
if else
Keanuo
2020 年 8 月 11 日
/^[\da-zA-Z]{5,}$/
Keanuo
2020 年 8 月 11 日
试试这个吧 /^[\da-zA-Z]{5,}$/
xiandao7997
2020 年 8 月 11 日
满足 1 就行了吧,2 是 1 的子集,7 楼的应该可以
lululau
2020 年 8 月 11 日
@Keanuo 你这个应该会匹配到 “12345” 这样没有超过 5 位的,花括号里的 5 应该改成 6 才对
Keanuo
2020 年 8 月 11 日
@lululau 啊确实 刚才写的时候想着是大于等于来着😂
LifStge
2020 年 8 月 11 日
@EminemW 楼主的描述 是不是还有排除纯字母的需求呢
@xiandao7997
Keanuo
2020 年 8 月 11 日
@LifStge
/^(?=.*[\d]+)([a-zA-Z0-9]{6,})|([\d]{6,})$/
排除纯字母的话,这个应该可以
lululau
2020 年 8 月 11 日
/^(?!^[a-zA-Z]+$)[\da-zA-Z]{6,}$/
Keanuo
2020 年 8 月 11 日
@lululau 哈哈你这个才是正解
EminemW
2020 年 8 月 11 日
@Keanuo #12 这个没办法提取这个例子中的 字母数字组合 "这是我的 xxx 东西 sq1234556789"
Keanuo
2020 年 8 月 12 日
@EminemW 那你把开头符^和结尾符$删掉就行吧
LifStge
2020 年 8 月 12 日
@EminemW #15 你这个匹配 是要搜索 搜索的话 注意去掉正则表达式的 开头^ 结尾$ 认真去看看正在表达式的文档吧。。。 这个是基础
EminemW
2020 年 8 月 12 日
@LifStge #17 去掉之后又没有排除纯字母了
LifStge
2020 年 8 月 12 日
@EminemW 还有个重要的问题是 你需求表达的都不清楚。。。 真不确定前面几个 是否符合需求。。
比如是否要排除纯字母 字母数字组合是哪种形式呢 比如几种情况 aaaa2222 2222aaaa 2aa2aa2 aa22aa2
...... 问问题也要表达清楚啊。。。
LifStge
2020 年 8 月 12 日
@EminemW 具体不清楚你的情况 #12 楼的 是没问题的 (?=.*[\d]+)([a-zA-Z0-9]{6,})|([\d]{6,}) 不知道你用啥测试的

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

https://v2ex.ih06.com/t/697497

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

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

© 2021 V2EX