正则表达式[^]的作用

Posted luffy5459

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式[^]的作用相关的知识,希望对你有一定的参考价值。

    ^与数字组合然后用中括号扩起来的用法比如:[^0-9],或者与字母组合[^a-z]我们经常能见到,表示匹配除了0-9或者a-z之外的其他字符。

    但是有一种形式,就是中括号[]里面单独一个^:[^] 这种情况,是一个比较特殊的正则表达式。在单行匹配中,它等价于  .     。表示任意字符。

    我们直接看示例:   

    从这个示例中,我们看到:.* 与[^]*结果是相同的,我们似乎可以得出上面的结论。他们是等价的。

    但是前面说了,这是在单行匹配的情况下,如果这里我们改为多行,再来看看结果:   

 

    这一下,使用.*匹配的结果有一些出乎意料,没有匹配到换行符\\n。而使用[^]*却可以匹配到\\n,所以他们是不一样的。

    [^]这种表示方法似乎难以理解,可以这么来理解,后面默认跟了一个''表示空,[^]取反之后表示非空,也就是任意字符,包括换行符\\n。

    总结一下就是,在单行模式下,[^]与.等价,多行模式下,它可以匹配\\n。所以它的功能更全面一些。     

以上是关于正则表达式[^]的作用的主要内容,如果未能解决你的问题,请参考以下文章

Nginx的Location正则表达式

正则表达式

正则表达式[^]的作用

正则表达式[^]的作用

nginx Location正则表达式

laravel 正则表达式验证不起作用