使用Regex检查管道符号

Kdg*_*Dev 4 php regex

|正如我所知,管道符号在正则表达式中用作一种"任一"语句.无论是这个,还是那个,或那个等......

但是,我希望检查带有正则表达式的字符串,以确定是否存在此符号.我试过逃避它,但这似乎不起作用.

我该怎么做,特别是如果我已经检查了多个符号,比如#,&,@等......

Gum*_*mbo 7

逃避这个角色是正确的方法.但请确保您也转义字符串声明中的转义字符:

"\\|"
'\\|'
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用字符类([|]),因为在那里你只有字符], ^(仅在开始), -,转义字符\具有特殊的意义,因此本身和分隔符必须要是意思是逃脱表达为普通字符.


mik*_*iku 5

$ cat 1933190.php

<?php
    echo preg_match("/\|/", "This is not a pipe.") . "\n";
    echo preg_match("/\|/", "The | the | this is a |.") . "\n";
?>
Run Code Online (Sandbox Code Playgroud)

输出:

$ php 1933190.php
0
1
Run Code Online (Sandbox Code Playgroud)