【发布时间】:2021-12-30 22:26:03
【问题描述】:
我需要一个正则表达式来只允许我之前设置的 maxLength 的大写扩展 ASCII 字符,它是单词的最大长度。
大写字母的正则表达式:\P{Ll}*
扩展 ASCII 字母的正则表达式:[\x00-\xFF]*
使用 ^[\p{Ll}] 还不够,因为我需要扩展 ASCII 字符(不允许表情符号或其他特殊字符超出 ASCII 扩展范围)。
如何结合这两个要求?以及 maxLength 的长度。
谢谢!!
【问题讨论】:
-
也许
^[\p{Latin}&&\p{Lu}]{1,10}$/^(?:(?=\p{Lu})\p{Latin}){1,10}$会起作用?像所有大写字母的拉丁字母一样,出现一到十次? -
@WiktorStribiżew 后者似乎有效,前者无效(
&&只是被解析为文字,而不是布尔运算符);我让它与双重否定字符类一起工作。
标签: regex