PHP没有应用正则表达式检查无效字符串
我制作了一个正则表达式,它允许:PHP没有应用正则表达式检查无效字符串,php,regex,Php,Regex,我制作了一个正则表达式,它允许: NP123 FS-123 FS-123-456 还是空虚 在Debuggex上工作得很好,但我不明白为什么PHP接受像“TEST”这样的字符串,它不是被接受的模板的一部分 检查小提琴手:您可以使用 ^(?:FS-[0-9a-zA-Z]+(?:-[0-9a-zA-Z]+)?|NP[0-9a-zA-Z]+)?$ 见 详细信息 ^-字符串的开头 (?:-开始外部非捕获组,用于将锚应用于内部所有备选方案 FS-[0-9a-zA-Z]+(?:-[0-9a-zA-
- NP123
- FS-123
- FS-123-456
- 还是空虚
^(?:FS-[0-9a-zA-Z]+(?:-[0-9a-zA-Z]+)?|NP[0-9a-zA-Z]+)?$
见
详细信息
-字符串的开头^
-开始外部非捕获组,用于将锚应用于内部所有备选方案(?:
-FS-[0-9a-zA-Z]+(?:-[0-9a-zA-Z]+)?
和1+字母数字字符,然后是可选的FS-
和1+字母数字字符序列-
-或|
-NP[0-9a-zA-Z]+
和1+字母数字字符NP
-组结束)?
-字符串结束$