[英]PHP Regex: Detect multiple periods, underscores, etc. in email address
[英]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.