我想构造一个正则表达式,匹配任何字母(包括重音和希腊语),数字,连字符和空格,允许的总字符长度在3到50之间。
这就是我所做的:
[- a-zA-Z0-9çæœáééíóúžàèìòùäëïöüÿâêîôûãñõåøαβγδεζηθικλμνξοπρστυφχψωÇÆŒÁÉÍÓÚŽÀÈÌÒÙÄËÏÖÜŸÂÊÎÔÛÃÑÕÅØΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ]{3,50}
现在我不想调整表达式,以便它不能以连字符或空格开头。它将用于验证用户名。
我考虑过使用负面的后视,但这些都是限制因素:
我希望这里有正则表达式英雄,因为它看起来并不简单。
答案 0 :(得分:2)
为了便于阅读,我用a-z
替换了你的长字符类:
[a-z][- a-z]{2,49}
您还可以匹配当前的正则表达式,然后确保该字符串与另一个匹配项中的^[ -]
不匹配。