如何使一组正则表达式字符可选?

时间:2014-06-07 14:28:32

标签: regex optional

我正在尝试创建一个允许unicode字母,数字, - 和撇号的正则表达式,其中第一个字符是字母或数字,而后续字符可以是字母,数字, - 或'。我认为我的正则表达式工作正常,除非用户输入单个字母或数字。反正有没有让我的2+个字符是可选的?以下是我目前的正则表达式:

/^[\p{L}0-9]+[-\'\p{L}0-9']+$/u

谢谢!

-Eric

1 个答案:

答案 0 :(得分:1)

不使用?即可使用:

/^[\p{L}0-9]+[-\'\p{L}0-9']*$/u

允许输入中的单个字母数字,因为[-\'\p{L}0-9']*表示0或匹配。