管道符號|
在正則表達式中用作「任一」語句的一種,據我所知。無論是這個,或者那個,或者那個,等等......使用正則表達式檢查管道符號
但是,我希望檢查一個正則表達式的字符串,以表示這個符號的存在。我試過逃脫它,但似乎並不奏效。
我如何做到這一點,特別是當我已經檢查了一些符號是存在,如#,&,@等...
管道符號|
在正則表達式中用作「任一」語句的一種,據我所知。無論是這個,或者那個,或者那個,等等......使用正則表達式檢查管道符號
但是,我希望檢查一個正則表達式的字符串,以表示這個符號的存在。我試過逃脫它,但似乎並不奏效。
我如何做到這一點,特別是當我已經檢查了一些符號是存在,如#,&,@等...
$ 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
逃離該字符纔是正道。但要確保你逃避你的字符串聲明中的轉義字符,以及:
"\\|"
'\\|'
另一種方法是使用字符類([|]
),因爲在那裏你只有]
,^
(只在人物開始),-
,轉義字符\
本身和具有特殊含義的分隔符,因此需要轉義以表示爲純字符。
而脫字符^僅具有特殊的意義,如果它是在一個字符類中的第一個字符,即[^ |]和[| ^]將表現不同。 – 2009-12-19 16:07:27
感謝您的明確示例。 – KdgDev 2009-12-19 15:33:46