如果我有一组像“abcdefghij”这样的字符并使用这些字符,我使用这个字符生成随机密码。生成的密码可以有6个字符。如何使用正则表达式验证密码,以便邻居字符不相同,并且字符不会重复两次?正则表达式重复字符数
2
A
回答
2
您可以使用类似:
/^
(?:(.)
(?!\1) # neighbor characters are not identical
(?!(?>.*?\1){2}) # character does not occur more than twice
)*
\z/x
的Perl引用,原子团可如果不支持被删除。
在Java中的正则表达式就可以这样写:
^(?:(.)(?!\1|(?:.*?\1){2}))*\z
-2
AFAIK,这不能用一个简单的正则表达式(尤其是完成,确保了一封信仅在最大出现了两次,你可以做了一堆表情像
[^a]*(a[^a]*(a[^a]*))
[^b]*(b[^b]*(b[^b]*))
....
也(匹配意味着失败验证):
[^a]*aa[^a]*
[^b]*bb[^b]*
,但显然这不是好主意
的字符不重复,也许可以一起与捕获组治疗的条件。 ,但我几乎可以肯定另一个不能用正则表达式检查。
顺便说一句...为什么痴迷正则表达式?编程这些检查是微不足道的,正则表达式在一组情况下很有用,但并不是每个检查都可以用正则表达式来完成。
+0
我需要一些一般的东西 –
-2
一些人,当遇到一个问题,认为 “我知道,我将使用 正则表达式。”现在他们有两个问题。 - Jamie Zawinski
这不是适合正则表达式的问题域。你可以做一些可能适用于这一场景的神秘的东西,在本地Java中编写算法将更容易保持前进,所以下一个人不必去描述一些神秘的正则表达式来决定如何添加关于必须的下一个规则有UPPERCASE
个字符和至少1个数字等。
相关问题
- 1. PHP正则表达式重复字符
- 2. Php正则表达式重复字符
- 3. 非重复字符正则表达式
- 4. 重复字符的正则表达式
- 5. 正则表达式不工作:重复字符串的数字
- 6. 正则表达式重复
- 7. 正则表达式重复
- 8. 重复字符匹配正则表达式匹配字符串
- 9. 正则表达式字重复
- 10. 重复字的正则表达式
- 11. Oracle数据库正则表达式重复字符组
- 12. 正则表达式忽略一定数量的字符重复
- 13. 重音字符正则表达式
- 14. 重音字符和正则表达式
- 15. 正则表达式,重复,次数群
- 16. preg_replace正确的正则表达式重复字符
- 17. 正则表达式为字符串匹配后重复模式
- 18. 正则表达式数字字符和& -
- 19. 正则表达式字符
- 20. 正则表达式字符
- 21. 正则表达式字符
- 22. 正则表达式字符?,$,|
- 23. 正则表达式:复数
- 24. 正则表达式(VBA) - 重复模式
- 25. 正则表达式 - 重复模式
- 26. 正则表达式的重复模式
- 27. 正则表达式的正则表达式的Java字符串
- 28. 正则表达式(正则表达式):/ W连字符(javascript)
- 29. 正则表达式正则表达式匹配字符串
- 30. 正则表达式(正则表达式)的子字符串
用什么编程语言? – Qtax
我需要这个在java –