标签: php regex
我正在尝试构造一个正则表达式来实现以下限制:
该值可以是任何长度,但可能不包含类似的字母/数字,这可能会在打印时造成混淆。例如,1(数字),I(大写拉丁语i)和l(小写拉丁语L)看起来相似;可能还有其他这样的例子
我尝试了一些但却无法使用它,任何帮助都会非常感激:谢谢。
例如:我可以Linux1但不能LINUX1或linux1
Linux1
LINUX1
linux1
答案 0 :(得分:3)
我怀疑正则表达式是什么方式,但如果你真的需要,你可能需要根据具体情况处理它们:(1I)|(I1)|([Ii][Ll])|([Ll][Ii])。因此,如果正则表达式匹配,则必须拒绝该字符串。可以找到正则表达式的工作示例here。
(1I)|(I1)|([Ii][Ll])|([Ll][Ii])
根据您的评论,您可以尝试使用类似的内容:(1.*I)|(I.*1)|([Ii].*[Ll])|([Ll].*[Ii])。可以找到正常工作的正则表达式here。此正则表达式还将检查值之间的值。
(1.*I)|(I.*1)|([Ii].*[Ll])|([Ll].*[Ii])