Sep*_*ter 13
如果允许在正则表达式中的令牌之间允许"自由空间" 的修饰符标志(为了可读性并允许正则表达式注释),它可以具有不同的含义x.但是如果未启用此设置,则两者之间没有功能差异.
有关此选项的详细说明,请参阅此Regex教程,其中指出:
...自由间距模式在字符类中没有任何影响.字符类中的空格和换行符将包含在字符类中.
此外,对于PHP特定权限,请参阅PCRE模式修饰符的PHP手册,其中指出:
x(PCRE_EXTENDED)如果设置了此修饰符,则模式中的空白数据字符将被完全忽略,除非转义或在字符类中...
另请参阅其他Regex教程页面,了解如何指定修饰符,解释如何在不同版本的正则表达式中实现修饰符.
修饰符标志可以包含在正则表达式本身中,因为(?x)意味着从正则表达式中的那个点到正则表达式的结尾(或直到结束(?-x))启用自由空间.特别是对于PHP,修饰符标志可以通过尾随正则表达式应用于整个表达式,例如(使用您的一个示例)/ {0,3}/x
方括号格式([ ])显式表示文字空间,无论该设置如何,IMO都是自我记录的; 它非常明确地显示了devoloper使用文字空间的意图,可能优先于" \s"字符类(也包括制表符和新行).
此外,再次只是IMO,这是一种"逃避"空间作为文字的优选方式,而不是使用\ 容易被未来代码维护者误解或忽略的" ".
| 归档时间: |
|
| 查看次数: |
211 次 |
| 最近记录: |