我有一个要求,即名称不能以 3 个相同的字母开头,忽略大小写。名称以大写字母开头,后跟小写字母。
基本上我可以将整个名称转换为大写,然后与(\p{Lu})\1{3,}.*
.
但我想知道是否存在符合上述要求并且不需要对要匹配的字符串进行任何预处理的正则表达式。那么我可以使用什么正则表达式来匹配字符串Aa
,Dd
或者Uu
没有明确指定任何可能的组合?
编辑:
我接受了马科斯的回答。我只需要修复它以使用长度为 1 和 2 的名称并在开头锚定它。所以我的用例的实际正则表达式是^(\p{Lu})(\p{Ll}?$|(?=\p{Ll}{2})(?i)(?!(\1){2}))
.
我还赞成 Evgeniy 和 sp00m 的答案,因为它们帮助我学习了正则表达式。
感谢您的努力。