使用正則表達式提取文本

使用自訂或預定義的正則表達式從文本中提取特定模式

找到比賽:0

我如何使用正則表達式文字提取器

一個先進的線上應用程式,讓你能快速且正確地使用正規表達式(regex)從任何文字中擷取特定資料。你是正在清理日誌的開發者嗎?是一名分析報告的資料分析師嗎?還是正在取得聯絡方式的行銷人員呢?這個工具使流程變得簡單。貼上你的文字,設定你的模式,立即取得符合的結果。使用者介面針對新手提供有用的預設功能,同時也給專家完全控制高級正規表達式標誌的能力。以下是開始使用並發揮模式匹配潛力的步驟。

  1. 輸入您的文字: 將您的文本粘貼或上傳到您要搜索的大文本區域。您可以使用「上傳文本文件」按鈕上傳 .txt、.log、.csv 或 .html 文件,或點擊「顯示範例」以加載範例。
  2. 定義你的正則表達式模式: 在「正則表達式模式」欄中輸入您的自訂正則表達式。對於常見的活動,例如尋找電子郵件或電話號碼,點擊預設按鈕(例如「電子郵件」、「網址」)即可自動填入可靠的模式。
  3. 比對選項
    • 全球比賽 (g):勾選此項以匹配文本中的所有出現,而不僅僅是第一次出現。
    • 不區分大小寫 (i): 搜尋不區分大小寫字母。
    • 多行 (m):改變 ^ 和 $ 的行為,使其匹配每一行的開頭/結尾,而不僅僅是字串的開頭/結尾。
    • 點匹配所有字符 (s): 使點號 (.) 字符也能匹配換行符。
    • 用換行符號連接結果:每個提取的匹配項都單獨格式化在自己的行上,便於查看。
  4. 提取比賽:按下「提取匹配項」按鈕。程式將分析你的文本,並在下方的結果框中顯示所有檢測到的模式。「找到的匹配項」計數器將會刷新。
  5. 導出您的結果: 使用工具列將擷取的文字複製到剪貼簿,下載為 .txt 檔案,或匯出為結構化格式如 CSV 或 JSON 以進行進一步分析。
  6. 專業提示:提取後,點擊「顯示統計資料」選項以獲取例如總比賽數量和最常見模式等見解。

正則表達式提取的常見用例

正則表達式提取是資料處理和文本挖掘中的一項重要技能。它能夠快速處理許多不同的現實情況。從線上抓取到資料驗證,識別精確的模式可以節省大量手動勞動的時間。以下是這個正則表達式提取器的一些最常見且立即實用的使用案例。

  • 資料清理與準備從雜亂的日誌或用戶生成的信息中提取一致的數據點,如產品代碼、序列號或ID,以便導入數據庫。
  • 潛在客戶開發抓取網站或文件以識別並收集電子郵件地址和電話號碼,用於行銷或外展活動。
  • 日誌檔案分析: 從伺服器或應用程式解析日誌,以識別錯誤代碼、時間戳記、IP 位址或單個交易 ID,用於除錯和監控。
  • 內容管理: 從網頁內容或文件中提取所有 URL、圖片連結或指定的 HTML 標籤,以進行審核或遷移用途。
  • 學術與研究: 從長篇資料如研究論文或文字記錄中提取特定引用、日期、統計數據或關鍵詞。
  • 程式重構在軟體維護期間,找出所有源代碼文件中的函數名稱、變量聲明或代碼模式。
  • 社交媒體監控從社交媒體流或匯出的評論區中提取標籤、提及(@username)或指定的詞語。
  • 財務文件處理: 從財務報表或報告中提取發票號碼、貨幣金額、日期和客戶名稱。
  • 安全審計: 檢查配置文件或代碼中可能存在的安全漏洞,例如硬編碼的密碼、API 密鑰、不安全的協議引用。

正則表達式標誌解密

標誌(或修改符)是單個字母,用於修改正則表達式引擎對你的模式的理解。它們對於調整搜尋的範圍和行為非常重要。這裡提供了四個最受歡迎且功能強大的標誌,讓你能夠精細地自訂你的提取。學習它們將使你成為更優秀、更高效的正則表達式撰寫者。

  • 全球 (g) :最常用的旗標。如果沒有,正則表達式引擎在文本中第一次匹配後就會停止。如果設置了旗標 'g',它會繼續搜索並返回整個輸入字串中所有不重疊的匹配項。
  • 不區分大小寫 (i)啟用後,此標誌將使您的模式忽略大小寫的差異。例如,模式 '/hello/i' 可以匹配 'hello'、'Hello'、'HELLO' 和 'HeLlO'。這對於掃描用戶提供的大小寫不一致的文本非常重要。
  • 多行 (m):此標誌會修改錨點字元 `^`(字串的開頭)和 `$`(字串的結尾)的行為。當 'm' 啟用時,^ 會匹配每一行的開頭,$ 會匹配每一行的結尾,而不僅僅是整個多行字串的開頭/結尾。
  • 點所有 (s)默認情況下,點號 `.` 元字符匹配除換行符(`\n`、`\r`)之外的任何字符。's' 標誌會移除此限制,允許點號匹配任何字符。這在解析跨多行的文本時非常重要。
  • 組合旗幟: 標誌可以組合以創建複雜的效果。例如,`gi` 將執行全局的、不區分大小寫的搜尋。GM 通常用於逐行解析文本。該工具以這種混合方式使用你選擇的標誌。
  • 旗幟放置: 在經典的正則表達式中,標誌位於結束分隔符之後(例如 /pattern/gim)。這個工具隱藏了複雜性;你只需勾選框,它就會在背後使用正確的標誌建立正則表達式對象。
  • 效能考量:提取需要使用全局(`g`)標誌;對於特別大的文本,它可能會稍微消耗更多資源。這就是該工具優化後擅長的功能。
  • 實際例子: 假設你想匹配多行日誌中所有以 "Error:" 開頭的行。你會使用模式 ^Error: 並啟用兩者 多行 (m)全球 (g) 旗幟。

正則表達式範例與結果

使用案例正則表達式模式範例文字與提取匹配
Extract Email Addresses
\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b
Text: Contact [email protected] or [email protected].
Match: [email protected], [email protected]

基本正則表達式語法速查表

在正則表達式中,字面字符和特殊元字符的組合會創建一個搜索模式。正則表達式學起來可能有點棘手,但如果你只學會幾個關鍵概念,就可以構建強大的提取模式。這裡提供了可以在此工具的模式欄位中使用的最有用的符號和序列的參考資料。

  • . (點):匹配除換行符之外的任何字符。例如:`a.c` 匹配 "abc"、"a@c"、"a c"。
  • \d\w`\d` 匹配任何數字 (0-9)。`\w` 匹配任何單詞字符(字母數字加底線)。大寫版本(\D、\W)匹配相反的(非數字、非單詞)。
  • [] (字元類別):匹配括號內的任意單一字元。`[aeiou]` 匹配任何母音字母。`[A-Za-z]` 匹配任何大寫或小寫字母。`[0-9]` 等同於 `\d`。
  • 量詞: 表示前一個元素可以重複的次數。`*`(零次或多次)、`+`(一次或多次)、`?`(零次或一次)、`{n}`(正好 n 次)、`{n,}`(n 次或更多)、`{n,m}`(介於 n 和 m 次之間)。
  • : `^` 匹配字串的開始(或使用 'm' 標誌的行的開始)。$ 匹配字串的結束(或行的結束)。`\b` 匹配字邊界(字元與非字元之間的位置)。
  • () (捕獲群組):群組化模式的一部分,並「捕獲」用於提取的匹配子字串。此工具將為你提供每個匹配群組的所有資料。
  • | (交替):這個作用類似邏輯 OR。`cat|dog` 匹配「cat」或「dog」其中之一。
  • 逃脫: 如果你想匹配像 這樣的字元。, * 或?你需要用反斜線跳脫:\。, \* , \? .

常見問題解答

當新用戶開始使用正則表達式和提取工具時,他們通常會有類似的問題。在本節中,我們將介紹一些最常見的問題,以幫助你排查問題並更好地理解工具的可能性。如果你的問題在這裡沒有得到解答,請嘗試對示例文本和預設進行實驗,以了解模式和標誌如何互動。

什麼是正則表達式(regex)?
正則表達式是一種描述搜索模式的字符模式。它是一種強大且簡潔的語言,用於根據指定規則匹配、搜索和修改文本,而不僅僅是固定的字串。
為什麼我的正則表達式模式沒有匹配到任何東西?
首先檢查是否有打字錯誤。使用「顯示範例」文字和預設模式來嘗試這個工具。
我可以從 PDF 或 Word 文件中取得文字嗎?
不是直接的。這是一個文字處理工具。您需要將 PDF 或 Word 文件中的內容複製並粘貼到輸入表單中,或者將文件另存為 .txt 文件並使用上傳工具。
不同的匯出格式有哪些(TXT、CSV、JSON)?
TXT 保存原始提取的匹配,默認每行一個。 CSV 將每個匹配項放入單列中的不同儲存格,非常適合試算表。JSON 則生成一個結構化的匹配陣列,非常適合程式設計應用。
使用這個線上工具我的資料安全嗎?
是的。所有處理都在您的網頁瀏覽器(客戶端)中進行。您的文字從未被傳送到我們的系統,保持您的敏感資料安全與私密。
我可以在哪裡找到更多關於高級正則表達式的資訊?
有許多很棒的網路資源、教學和正則表達式測試平台。先從預設開始,稍作調整看看會發生什麼。這是一種極好的互動學習方法。