嘿,我可以从这个清理PHP中的preg_match:
preg_match_all("/(".$this->reg['wat'].")?(".$this->reg['wat'].")?(".$this->reg['wat'].")?(".$this->reg['wat'].")?(".$this->reg['wat'].")?(".$this->reg['wat'].")?(".$this->reg['wat'].")?/",$value,$match);
Run Code Online (Sandbox Code Playgroud)
看起来像这样:
preg_match_all("/
(".$this->reg['wat'].")?
(".$this->reg['wat'].")?
(".$this->reg['wat'].")?
(".$this->reg['wat'].")?
(".$this->reg['wat'].")?
(".$this->reg['wat'].")?
(".$this->reg['wat'].")?
/",$value,$match);
Run Code Online (Sandbox Code Playgroud)
现在每个空间,它都算作一个突破,所以在搜索时它不会返回任何发现.但它看起来更干净,更容易阅读是我问你知道的原因.我正在寻找在正则表达式中关闭"/"后添加的其中一个字母.谢谢
是的,请查看PCRE_EXTENDED选项:
x(PCRE_EXTENDED)
如果设置了此修饰符,则模式中的空白数据字符将被完全忽略,除非转义或在字符类中,并且还忽略字符类外的未转义#和下一个换行符(包括在内)之间的字符.这相当于Perl的/ x修饰符,并且可以在复杂模式中包含注释.但请注意,这仅适用于数据字符.空格字符可能永远不会出现在模式中的特殊字符序列中,例如在序列中(?(引入条件子模式).