Php regExp问题-字符串已匹配,但不应匹配
iam正在尝试检查用户是否具有管理组的权限: 表达式(Php regExp问题-字符串已匹配,但不应匹配,php,regex,Php,Regex,iam正在尝试检查用户是否具有管理组的权限: 表达式(ou=| |)是我要查找的字符串 /^OU=|||$|,OU=|||$/i 在像“ou=whatever”这样的字符串上,它返回true(-: 我确信这是管道的问题,但我不知道如何解决这个问题 我使用的PHP 5.x带有preg_match为了更好的可读性,需要对管道进行转义并包含一些括号: /(^OU=\|\|\|$)|(,OU=\|\|\|$)/i 为了更好的可读性,您需要对管道进行转义并包含一些括号: /(^OU=\|\|\|$)|
ou=| |
)是我要查找的字符串
/^OU=|||$|,OU=|||$/i
在像“ou=whatever”
这样的字符串上,它返回true(-:
我确信这是管道的问题,但我不知道如何解决这个问题
我使用的PHP 5.x带有
preg_match
为了更好的可读性,需要对管道进行转义并包含一些括号:
/(^OU=\|\|\|$)|(,OU=\|\|\|$)/i
为了更好的可读性,您需要对管道进行转义并包含一些括号:
/(^OU=\|\|\|$)|(,OU=\|\|\|$)/i
管道是正则表达式中的元字符(表示“或”)。您需要转义它们:
/^OU=\|{3}$|,OU=\|{3}$/i
您确定正确使用了字符串的开始和结束锚吗?现在,这个正则表达式将只匹配字符串
OU=|||
及
,OU=|||
管道是正则表达式中的元字符(表示“或”)。您需要对其进行转义:
/^OU=\|{3}$|,OU=\|{3}$/i
您确定正确使用了字符串的开始和结束锚吗?现在,这个正则表达式将只匹配字符串
OU=|||
及
,OU=|||
谢谢!str\u replace是解决方案。.有些你在monring中碰到墙了!谢谢!str\u replace是解决方案。.有些你在monring中碰到墙了!请看。为了澄清,你原来的正则表达式的意思是,OU=
在行首,或者什么都没有(字符串中的任何地方,即任何东西),或者什么都没有,或者行尾(与每个表达式匹配),或者…嗯,不确定preg_quote的意思它可以工作它可以运行它maches ou=whatever但不是ou=| | | | | | | |请参见。为了澄清,原始正则表达式的意思是在行的开始处有ou=
,或者什么都没有(字符串中的任何地方,即任何东西),或者什么都没有,或者行的结尾(匹配每个表达式),或者…嗯,我不知道你说的preg是什么意思,它能起作用,但是不能用ou=| | |+1来诊断。我想OP真的需要(^ |,)ou=\|{3}(,|$)
+1来诊断。我想OP真的需要(^ |,)ou=\{3}(,|$)
。