正则表达式"条件"

时间:2018-03-13 10:06:17

标签: php regex

我正在尝试编写一个正则表达式,如果该字符串包含反斜杠并且不会继续使用3位数字,则会在PHP中返回false。 例如:

something\something   -> false
\                     -> false
something\            -> false
something\45something -> false
something\222aa\a     -> false
something\000         -> true
\784something         -> true
\784                  -> true
something             -> true
something\222aa\111   -> true

我发现正则表达式(\\\d{3})+适用于反斜杠和3位数。

我不知道如何将其与something -> true一起使用(我对此有误)。

2 个答案:

答案 0 :(得分:2)

您可以使用the following regex来匹配无效输入(包含一个小于3位的斜杠):

\\\d{0,2}([^\d]|$)

因此,如果输入与正则表达式返回false匹配,否则返回true

编辑 :感谢@CasimiretHippolyte进行修复。

答案 1 :(得分:2)

我能管理的最好的是多行正则表达式,它检查该行是否包含斜杠后跟3位数,或者包含斜杠或换行符以外的任何字符

编辑: 根据问题修改

^([^\n\\]|\\\d{3})*$