簡體   English   中英

PHP正則表達式期間

[英]PHP regex periods

如何將句點放入PHP正則表達式?

它在代碼中的使用方式是:

echo(preg_match("/\$\d{1,}\./", '$645.', $matches));

但顯然這段時間在$645. 沒有得到認可。 請求有關如何使其工作的提示。

自從. 是一個特殊的角色,你需要逃避它才能真正擁有它,所以\\.

如果要在字符串中使用它,請記住也要轉義轉義字符。 因此,如果要在字符串聲明中編寫正則表達式foo\\.bar ,則需要將其設置為"foo\\\\.bar"

逃避它 句點在正則表達式中具有特殊含義,因為它表示任何字符 - 它是通配符。 表示和匹配文字. 它需要通過反斜杠\\來進行轉義,即\\.

/[0-9]\.[ab]/

匹配數字,句點和“a”或“ab”,而

/[0-9].[ab]/

匹配數字,任何單個字符1和“a”或“ab”。

請注意,PHP也使用反斜杠作為雙引號字符串中的轉義字符。 在這些情況下,你需要雙倍逃避:

$single = '\.';
$double = "\\.";

UPDATE
這個echo(preg_match("/\\$\\d{1,}./", '$645.', $matches)); 可以重寫為echo(preg_match('/\\$\\d{1,}\\./', '$645.', $matches)); echo(preg_match("/\\\\$\\\\d{1,}\\\\./", '$645.', $matches)); 他們 工作


1)不是換行符,除非通過s修飾符配置。

暫無
暫無

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

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