我正在尝试创建一个允许unicode字母,数字, - 和撇号的正则表达式,其中第一个字符是字母或数字,而后续字符可以是字母,数字, - 或'。我认为我的正则表达式工作正常,除非用户输入单个字母或数字。反正有没有让我的2+个字符是可选的?以下是我目前的正则表达式:
/^[\p{L}0-9]+[-\'\p{L}0-9']+$/u
谢谢!
-Eric
答案 0 :(得分:1)
不使用?
即可使用:
/^[\p{L}0-9]+[-\'\p{L}0-9']*$/u
允许输入中的单个字母数字,因为[-\'\p{L}0-9']*
表示0或匹配。