簡體   English   中英

你如何編寫和測試正則表達式?

[英]How do you write and test your regular expressions?

是他們的任何向導或工具來創建和測試PHP的正則表達式,因為它是如此困難:(?謝謝:)

RegexBuddy是一個廣受歡迎的應用程序。 它也需要40美元,只能在Windows上運行。

對於強大的免費替代品,請參閱此答案

reAnimator是一個很好的工具,可以將你的正則表達式可視化為狀態機 - 我覺得它有時很有用。

Python還允許您查看正則表達式解析樹 ,如果您學習閱讀它可能會有所幫助。

使用示例數據進行單元測試 創建兩個數組,一個具有匹配的數據,另一個具有不匹配的數據,以便測試邊緣情況。

試用和 錯誤 成功。

因為我花了很多時間來實際學習它,而不是依靠別的東西來為我做。

同樣適用於任何語言/工具-需要一點時間來學習語法和一般的精神,你會更加富有成效不是依靠智能感知,代碼提示,等等。

有強大的在線工具 離線,

  • 正則表達式教練是一個很好的免費離線正則表達式工具,我經常使用。
  • 我也喜歡RegEx Buddy ,但它的價格是40美元而且我很便宜。

Expresso是免費的Windows程序,可以很好地解析正在分析的正則表達式。

對於可以立即從瀏覽器運行的在線工具,請參閱此答案

我一直用這個: http//gskinner.com/RegExr/

我編寫了自己的工具: Regular Expression Tester 與許多其他基於Web的工具不同,這個工具可以將正則表達式分解為令牌並描述每個令牌正在做什么。 它非常適合檢查你很久以前寫過的新表達式或表達式,並且不太記得。

Regex Buddy過度使用(40美元),僅適用於Windows。 這可能是2009年的一個不錯的選擇。

現在我們有免費的強大在線工具來構建和測試正則表達式。 Regex101就是其中之一:

  • 讓你選擇RE引擎(PCRE,JavaScript,Python)
  • 將比賽着色
  • 在飛行中解釋正則表達式
  • 有一個調試器
  • 可以創建regexp游樂場的永久鏈接。

我的其他答案中有更多正則表達式測試工具。

試錯。

print_r

我真的很喜歡RegexPal ,它簡單,清晰,無需安裝,可在線免費使用。

在線...有一個帶js / pcre / posix實現的ajax正則表達式檢查器,在你輸入時進行檢查..方式很酷。

http://www.rexv.org

我曾經使用The Regex Coach。 但是因為它是基於Perl的,並且大多數時候我正在測試.NET正則表達式,所以我現在使用這個在線.NET正則表達式測試器

我喜歡emacs重建者。

既然你在談論PHP,你可能會對Codebench感興趣。 它是一個工具,不是專門打破正則表達式(你已經有很多已經列出的那些),但要對它們進行基准測試。 由於它非常通用,您還可以比較非正則表達式解決方案,因為本機字符串函數通常更快。 此外,它還允許您對多個主題(目標)進行基准測試。 希望你覺得它有用。

我正在使用單元測試。 這樣,我可以逐步增加我的正則表達式,確保我測試的第一個案例仍然通過。 如果我不得不修改它,我有我所有的測試來支持我。

對於在線測試Regx http://www.regexr.com/使用此站點,如果您的regx工作,那么您可以使用preg_match()函數在writecodeonline.com上檢查它的php。

我寫了一個python庫來完成這個,它在cloudtb.re下

text = 'so foo is the opposite of bar but without foo there is no bar?'
exp = '(foo).*?(bar)'
searched = cre.research(exp, text)
print(searched)

pprinted正則表達式

當我正在測試正則表達式時,我通常使用Rubular 您也可以嘗試使用txt2re.com ,它可以幫助您找出表達式,甚至可以生成相關的PHP代碼。

這是Java的另一個在線正則表達式測試器:

http://www.fileformat.info/tool/regex.htm

暫無
暫無

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

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