簡體   English   中英

為什么此正則表達式與以下地址不匹配:電子郵件地址

[英]Why won't this regex match the to: email address

我正在嘗試從字符串中提取電子郵件地址。

這是我的SSCCE:

class SSCCE{
    public static void main(String[] args) throws Exception{
        Pattern toEmailPattern = Pattern.compile("To: (\\S+)\\s");
            Matcher toMatcher = toEmailPattern.matcher("Date: Wed, 12 Nov 2014 01:01:44 +0000 (UTC)\n" +
                    "From: TestProjectDoNotChange Do Not Reply <Intds@blah.com>\n" +
                    "To: david1@david1.com\n" +
                    "Message-ID: <1531281253.11415754104803.JavaMail.dallend@P94461>\n" +
                    "Subject: Invitation to DataSite TestProjectDoNotChange ");
            System.out.println(toMatcher.matches()); //false
        }
}

由於某些原因,匹配器找不到電子郵件地址。 我特別困惑,因為我已經在這里測試過我的正則表達式,並且該網站說它可以正常工作。

怎么了

正如Javadoc所述,因為Matcher#matches()

嘗試根據圖案匹配整個區域

在這種情況下,整個區域就是您在創建Matcher時提供的String 正則表達式與完整字符串不匹配,但是包含與正則表達式匹配的子字符串。 使用Matcher#find()查找該子字符串。

暫無
暫無

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

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