簡體   English   中英

在PHP中轉義正則表達式中的字符

[英]Escaping characters in regular expressions in PHP

以下返回true:

$bool1 = preg_match("/5/", "Your bill is $5.00 dude");
var_dump($bool1);

我期待這個,因為'5'在字符串中。但是以下返回false:

$bool1 = preg_match("/\$5\./", "Your bill is $5.00 dude");
var_dump($bool1);

我以為我正在逃避$正確,所以它會在字符串中查找$5並找到它,但不是。 誰能解釋一下? 謝謝。

使用單引號來防止PHP誤解任何轉義:

$bool1 = preg_match('/\$5\./', "Your bill is $5.00 dude"); 

你應該使用preg_quote()函數進行正確的轉義

$bool1 = preg_match('/\$5\./', "Your bill is $5.00 dude");
var_dump($bool1);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM