使用Regex检查管道符号

wqlqzqxt  于 2022-11-18  发布在  其他
关注(0)|答案(2)|浏览(109)

就 我 所 知 , 管道 符号 * * | * * 在 正则 表达式 中 被 用作 一 种 " either " 语句 。 either this , either that , or that , or that , 等等 。
然而 , 我 希望 用 正则 表达式 检查 字符 串 中 是否 存在 这个 符号 。 我 试 过 转义 它 , 但 似乎 不 起 作用 。
我 该 怎么 做 呢 , 尤其 是 如果 我 已经 在 检查 一些 符号 是否 存在 , 比如 #&@ 等 ... ...

roejwanj

roejwanj1#

转义该字符是正确的方法,但要确保在字符串声明中也转义转义字符:

"\\|"
'\\|'

另一种方法是使用字符类([|]),因为在其中只有字符]^(仅在开始处)、-、转义字符\本身和具有特殊含义的分隔符,因此如果要表示为纯字符,则需要进行转义。

ubby3x7f

ubby3x7f2#

$ cat 1933190.php

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

输出量:

$ php 1933190.php
0
1

相关问题