检查字符串中是否存在至少 3 个不同字符的正则表达式

Regular expression that checks for existence at least 3 different characters in a string

本文关键字:字符 正则表达式 字符串 是否 存在 检查      更新时间:2023-09-26

>我需要一个正则表达式来确保字符串至少包含 3 个不同的字符(任何类型的)。

例如,aqaqaq 无效,因为它仅由 2 个不同的字符组成。AQWAQA 或 AQ3AQA 或 AQ!aqa 均有效。

这在正则表达式中可能吗?

语言: Javascript/PHP

谢谢

您可以使用包含负面前瞻的正则表达式:

/(.).*(?!'1)(.).*(?!'1)(?!'2)(.)/

例子:

> regex = /(.).*(?!'1)(.).*(?!'1)(?!'2)(.)/
> regex.exec('abab!aba')
["abab!ab", "a", "!", "b"]
> regex.exec('abababa')
null