﻿# 介紹好網站：Regular Expression Library

我[之前](/post/2008/03/23/Regular-Expression-Regex-Learning-Resources)就講過 Regular Expression 是學一次用一輩子且是程式設計師一定要學的技能之一，不過由於 Regular Expression 的語法太過特殊且功能強大，讓許多人在初學的時候就很害怕，甚至乾脆不學，有需要的時候就到網路上到處找，雖然也能解決問題，不過複製一個看不懂的東西內心總是不太紮實的，所以我建議無論如何任何一位程式設計師都一定要花時間學會看懂所有 Regular Expression 語法，並進而自行撰寫所需的 Regular Expression 表示式。

今天推薦一個不錯的網站 [Regular Expression Library](http://regexlib.com/)，這個網站從 2001 年起開站至今累積了好幾千個由各地網友貢獻上傳的 Regular Expression 可供搜尋、測試，對許多要使用現成 Regular Expression 的人或正在學習看懂 Regular Expression 的人來說，是的非常棒的資源。

![RegExLib.com](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/64a0ef277a9492beb53e-image_3.png)

畢竟這些 Pattern 都是由使用者上傳的，我發現其實有些 Pattern 是有問題的，所以我認為從網路上找資訊一定要有自我判斷對錯的能力，真的不能照單全收，這網站除了可以搜尋這麼多的 Pattern 以外，他還提供使用者對每一個 Pattern 評分(Rating)、留言(Comment)，所以光從網友的評分與留言其實就可以篩選出一些優質的 Pattern 了。

接下來我示範一下如何在該網站找出優質 Pattern 的方法：

1\. 先進入 [RegExLib.com](http://regexlib.com) 網站

2\. 點選 [Advanced Search](http://regexlib.com/Search.aspx) 連結

3\. 我們假設要搜尋「比對 URL 連結」的 Pattern，除了在 Keywords 欄位輸入外，若再勾選 Minimum Rating 為 The Best 就會找出所有與 URL 相關且被網友 Rating 過最好的 Pattern 了。

[![RegExLib.com - Advanced Search](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/5ac492bc08c8a17928a5-image_thumb_1.png)](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/89d0f76bd476c8964ffb-image_5.png) 

4\. 當你找到 Pattern 後，也可以點選右上角的 Test 按鈕，立即進行線上的 Regular Expression 測試。

[![RegExLib.com - Search Result](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/ad239d2d5c0787da9b8a-image_thumb_2.png)](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/102c42c2f608834d159c-image_7.png)

5\. 當在測試的時候，還可以選擇用 .NET Engine 與 Client-side Engine (JavaScript)，可說是非常方便。

[![RegExLib.com - Test Your Regular Expression](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/772dbc6c5c95c03a33d3-image_thumb_3.png)](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/3bbcf2bae62d6f7aefc6-image_9.png)

除此以外，網站還提供不同的輸入方式，可下載網頁進行測試樣式比對、可上傳檔案進行樣式比對、還可以直接輸入內容進行樣式比對：

[![RegExLib.com - Test Your Regular Expression - Regex Input](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/1677b92b5d9c3bea4085-image_thumb_4.png)](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/bfd28a9a0bd57e0d7f91-image_11.png)

最後還會顯示所有比對的結果：

[![RegExLib.com - Test Your Regular Expression - Result](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/542454d9a7ced3e51239-image_thumb_5.png)](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/b4145e168f09f640d349-image_13.png)

整體看來我覺得這網站是蠻不錯的，網站功能不用多，實用就很好了。

**相關連結**

-   [Regular Expression Library](http://regexlib.com/)
-   [正規表示法](http://zh.wikipedia.org/w/index.php?title=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F&variant=zh-tw) - Wikipedia
-   [整理一些 Regex 的學習資源](/post/2008/03/23/Regular-Expression-Regex-Learning-Resources)
