讓我建立這個的工作以轉發的電子郵件鏈的形式到達,有四十條訊息。一位客戶想要一份在六個月的線程上複製的所有人的單個列表,這樣他們就可以將群組遷移到正確的郵件列表。每個地址都在那裡,埋在那裡 To: 和 Cc: 簽名、引用回覆中的台詞,有時甚至三遍。手工滾動和複製需要一個下午的時間,我仍然會錯過一些並再複製一些。我實際上需要的是能夠閱讀整段文字、找到其中的每個電子郵件地址、扔掉重複項並遞給我一個乾淨的清單的東西。那是 電子郵件提取器,本指南解釋了它是如何運作的以及為什麼匹配問題的無聊細節。
TL;DR: 電子郵件提取器掃描文字區塊並提取其中包含的每個電子郵件地址,傳回您可以複製的重複清單。 Toolz 工具更進一步,使用相同的引擎從相同的文字中提取 URL、電話號碼和 IPv4 位址。它與精選的正規表示式匹配,不敏感地折疊重複項,並且可以對輸出進行排序和小寫。一切都運行客戶端:不上傳、不註冊、離線工作。
我在 Laravel 和 React 上建立 SaaS 產品,並運送 WordPress 插件,其中令人驚訝的工作是將非結構化文字轉換為結構化列表。支援收件匣匯出、抓取頁面、日誌檔案、貼上文件:它們都將您想要的資料與周圍的雜訊混合在一起。從噪音中取出位址、連結或 IP 是一項小任務,您經常會用正規表示式執行,每次都記住一半並重新輸入,這正是瀏覽器工具應該消除的摩擦力。所以這就是我希望我下午四十條訊息鏈落在我腿上的指南。
什麼是電子郵件提取器?
電子郵件提取器是一種讀取自由文字並將其中的每個電子郵件地址作為清單傳回的工具。您貼上一個文字區塊,無論是電子郵件執行緒、網頁、CSV 轉儲、聊天日誌還是原始碼頁面,並且該工具使用識別電子郵件形狀的模式來查找每個地址:本地部分、at 標誌和以有效頂級網域結尾的網域。您無需自己閱讀文字並一次複製一個地址,而是立即獲取整套地址,並刪除重複項。
工具 電子郵件提取器 故意不僅僅是電子郵件。同一個掃描引擎可以提取 http 和 https URL、電話號碼和 IPv4 位址,因為它們是同一類問題:找到文字牆中每次出現的已知模式並乾淨地列出它。這使得它成為通用提取實用程式而不是單一技巧工具。核心思想在所有四種類型中都是恆定的。為有效匹配的外觀定義精確的模式,掃描文本中的每個不重疊的事件,然後清理、去重複,並選擇將結果排序到您可以貼到任何位置的任何位置它。
為什麼不只是用眼球觀察或使用頁面查找呢?
因為這兩種方法都以最重要的方式失敗。手動閱讀文字和複製地址速度很慢,更糟的是,它不可靠:您錯過了隱藏在簽名區塊內的地址,您從引用的回復中複製了同一個地址兩次,並且您無法知道您應該複製多少地址最終得到。輸入越大,賠率越差,需要提取的輸入通常是大的。
瀏覽器頁面查找對此也好不到哪裡去。它突出顯示您已經知道的字串的匹配,但提取的全部目的是您事先不知道地址,因此沒有什麼可搜尋的。您需要的是一個與電子郵件形狀相匹配的模式,無論其確切字母如何,這正是正規表示式提供的。正確編寫該表達式是其自身的小技能,稍微錯誤意味著要么丟失有效地址,要么捕獲僅看起來像一個地址的垃圾。專用的提取器會烘烤經過測試的模式,這樣您就不必重新輸入它,並將其與重複刪除配對,這樣您複製的列表就是您可以信任的列表。如果您想了解或調整模式本身,則 正規表示式測試儀 讓您貼上自己的表達式並即時觀看它與範例文字的匹配。
電子郵件匹配的準確度如何?
這是決定提取器有用還是煩人的問題,因此值得精確。電子郵件地址格式由 定義 RFC 5322,完整的語法是著名的巴洛克風格。它允許引用帶有空格、括號中的註釋以及其他技術上有效且從未出現在真實數據中的形式的局部部分。試圖匹配整個 RFC 的正規表示式是巨大的,實際上它弊大於利,因為它開始匹配郵件伺服器永遠不會接受的字串。
Toolz 提取器使用業界已確定的實用子集:字母、數字和公共標點符號的本地部分、at 符號以及以至少兩個字母的頂級域結尾的虛線域。這與大多數驗證庫使用的形狀相同,並且在拒絕噪音的同時與人們實際擁有的地址相匹配。這是一次故意的交易。您放棄匹配未出現的奇異形式,以避免表格上出現誤報,這些表格看起來像電子郵件,但事實並非如此。為了從真實文件中提取地址,這是整個工作,該交易是正確的。該工具也很誠實:同樣的推理也適用於電話號碼,其中沒有單一的全域格式,因此該模式有意地很寬,並且偶爾會捕獲一個不是電話號碼的長號碼,這就是為什麼審查電話結果值得花一點時間。
如何使用該工具從文字中提取電子郵件?
流程大約需要十秒。將文字貼到輸入框中,或按一下「載入範例」以查看包含混合在一起的電子郵件、URL、電話號碼和 IP 位址的工作範例。
使用頂部的一行按鈕選擇要提取的內容:電子郵件地址、URL、電話號碼、IPv4 地址或號碼。該工具應用該類型的匹配模式並忽略其他所有內容。然後設定清單選項。離開並引用;刪除重複項和引用;然後將重複的匹配折疊成一個條目,這幾乎總是您想要的。打開&引用;排序&引用;按字母順序排列列表,或在提取數字時按值排序。打開&引用;小寫&引用;使電子郵件和 URL 標準化 [email protected] 和 [email protected] 被視為一個地址。選擇結果如何連接:垂直清單的新行、CSV 小區的逗號或 To: 期望的郵件用戶端的欄位、空格或分號。
點擊"提取",結果將顯示找到多少匹配項以及刪除多少重複項的計數。複製清單並將其貼到需要去的地方。這就是整個循環,因為它會立即運行,所以您可以在同一文本上的提取類型之間翻轉以拉動電子郵件,然後是 URL,然後是 IP,而無需重新貼上任何內容。
我可以提取什麼?我什麼時候使用每個?
四種提取類型涵蓋了最常隱藏在文字中的資料。以下是每種匹配的內容及其用途。
| 類型 | 比賽 | 典型用途 |
|---|---|---|
| 電子郵件地址 | [email protected] 在實際的 RFC 子集中 |
從執行緒建立郵件列表,從匯出中提取聯絡人 |
| 網址 | http:// 和 https:// 鏈接,尾隨標點符號已修剪 |
從頁面或文件中收集每個連結進行審核 |
| 電話號碼 | 運行 7 位以上數字,帶有空格、破折號、點或括號 | 從抓取或貼上文字中收集聯絡電話 |
| IPv4 位址 | 每個八位元組的點四邊形限制為 0-255 | 從日誌檔案或設定轉儲中提取位址 |
| 數字 | 有符號整數和小數,有數千個分隔符號 | 從報告或表格中提取數字並貼上為文字 |
電子郵件和 URL 類型是我接觸最多的類型,通常是一起:提取電子郵件以建立聯絡人列表,然後切換到 URL 以審核每個連結的相同文件引用。當我讀取伺服器日誌並想要到達端點的唯一位址集時,IPv4 類型就贏得了它的位置,該端點自然地與 網址解析器 當我需要進一步分解這些請求時。數字類型是奇數類型,但對於從以純文字而不是電子表格形式貼上的報告中提取數字確實很方便。無論您選擇哪一個,重複資料刪除和排序選項的工作方式都是相同的,因此輸出始終是一個乾淨的、有序的列表,而不是原始匹配。
重複資料刪除實際上在這裡如何運作?
在您考慮外殼之前,重複刪除聽起來很簡單。同一個人'的地址可以顯示為 [email protected] 在一個簽名中 [email protected] 在引用的回覆中,以及精確比較字串的天真的重複刪除會保留兩者。這是錯誤的:電子郵件本地部分在每個實際的郵件系統中都不區分大小寫,並且根據定義,網域不區分大小寫。因此,在決定兩個匹配項是否相同時,提取器會不敏感地比較電子郵件和 URL,這意味著即使您沒有打開小寫選項,這兩個拼寫也會崩潰為一個條目。
該工具還告訴您它做了什麼。結果上方的計數顯示了它總共發現了多少匹配項以及刪除了多少重複項,因此您永遠無法猜測該列表是否因重複刪除或輸入小於您想像的而縮小。對於數字和 IP 位址,如果外殼無關緊要,則比較是準確的。這種細節在工作時是不可見的,而在不起作用時則令人憤怒,這就是為什麼它值得正確而不是停留在簡單的地方 Set 原始字串。如果你的工作實際上是關於哪些值出現在一個列表中而不是另一個列表中,而不是將它們從散文中剔除,那麼 比較兩個列表工具 確實在列上設定了算術,並且更適合該特定問題。
從網路上敏感文字中提取安全嗎?
對於這個工具,是的,原因是它是如何建構的,而不是你必須採取信念的政策。您貼上好的文字完全在您自己的瀏覽器中使用 JavaScript 進行掃描。沒有上傳,沒有伺服器往返,也沒有記錄或儲存任何內容。您可以透過開啟瀏覽器'來確認它;網路標籤並點擊「摘錄:頁面沒有請求離開」。頁面載入後,您可以離線並繼續工作。
這對於提取來說比幾乎任何其他類型的工具都更重要,因為您貼上文字通常充滿您不想洩露的資料。電子郵件執行緒包含私人位址,日誌檔案包含內部 IP 位址和主機名,貼上的文件包含電話號碼和姓名。提取器將該文字上傳到伺服器進行處理,無論意圖多麼善意,都會將您的私人信件變成其他人'伺服器日誌。客戶端處理消除了根部的風險:文字永遠不會離開您的電腦。 toolz。dev 上的每個工具都故意存在這種預設,我在其中列出了完整的參數 線上工具的資料隱私指南 如果你想深入推理。為了更廣泛地了解這些小型實用程式如何組合到工作套件中,我的 開發人員生產力工具指南 走過碎片。
值得了解的限制是什麼?
直接了解限制是信任工具的一部分,所以這裡有誠實的邊緣。電子郵件模式與 RFC 5322 的實用子集相匹配,而不是完整的語法,因此將錯過技術上有效但奇異的地址以及引用的本地部分或評論。這是避免誤報的故意選擇,它基本上不會影響真實地址,但它是一個限制,您應該知道它的存在。電話號碼是五種類型中最寬鬆的,因為沒有通用格式;該模式會尋找具有公共分隔符號的七個或更多數字,這意味著它偶爾可以捕獲一個不是電話號碼的長標識符,因此一眼看電話結果是值得的。
提取器也適用於文本,而不是二進位檔案。如果您有 PDF 或 Word 文檔,請複製其文字並貼上它;該工具無法讀取文件格式本身。由於所有內容都在瀏覽器記憶體中運行,因此真正的巨大輸入將受到瀏覽器而不是工具的限制,儘管對於電子郵件、連結和 IP,人們實際上提取的上限遠高於您要達到的上限。這些限制都不會影響正常使用。了解它們只是自信地使用工具和對邊緣案例感到驚訝之間的區別。
常見問題
如何從文字中提取電子郵件地址? 將文字貼到 電子郵件提取器 並將類型設定留到電子郵件地址。它使用電子郵件模式掃描文本,列出找到的每個地址,刪除重複項,並允許您複製乾淨的清單。無需註冊或上傳,載入後可離線工作。
它還可以提取 URL 和電話號碼嗎? 是的。將提取類型切換為 URL、電話號碼、IPv4 位址或號碼。同一引擎對每種類型應用不同的模式,因此一個工具可以處理同一文字區塊中的多個提取作業,而無需重新貼上它。
它會刪除重複的電子郵件嗎? 是的,當刪除重複選項開啟時。重複的匹配會折疊到單一條目,並且該工具會報告刪除了多少個重複項。電子郵件和 URL 的匹配不區分大小寫,因此不同字母大小寫中的相同地址被視為一個。
電子郵件匹配的準確度如何? 此模式與真實資料中看到的電子郵件地址的實際子集相符:本地部分、at 符號和以有效頂級網域結尾的點域。它沒有實現完整的 RFC 5322 語法,該語法允許從未在實踐中出現的外來形式,並且會在僅看起來像電子郵件的字串上產生錯誤匹配。
為什麼有些電話號碼匹配得奇怪? 電話號碼沒有單一的全域格式,因此該模式會尋找七個或更多數字,它們之間有空格、破折號、點或括號。這是故意寬泛的,這意味著它偶爾可以捕獲一個不是電話號碼的長號碼,因此在從混合文字中提取電話號碼時值得查看結果。
我可以對提取的清單進行排序嗎? 是的。開啟排序選項,按字母順序對清單進行排序,或在提取數字時按數值排序。將其與刪除重複選項結合,以獲得一個乾淨、有序、無重複的列表,可供複製。
我可以複製結果的格式是什麼? 您可以使用新行、逗號、空格或分號加入匹配項。為垂直清單選擇新行,為 CSV 單元或 To 欄位選擇新行,為某些郵件用戶端選擇分號。輸出上方的計數顯示提取了多少匹配項。
提取的資料是否上傳到任何地方? 不。文字是在使用 JavaScript 的瀏覽器中本地掃描的。不會傳輸、記錄或儲存任何內容,並且該工具在載入後會保持離線工作,您可以在提取時透過查看網路標籤來確認這一點。



