[英]How do you write and test your regular expressions?
是他們的任何向導或工具來創建和測試PHP的正則表達式,因為它是如此困難:(?謝謝:)
RegexBuddy是一個廣受歡迎的應用程序。 它也需要40美元,只能在Windows上運行。
對於強大的免費替代品,請參閱此答案 。
reAnimator是一個很好的工具,可以將你的正則表達式可視化為狀態機 - 我覺得它有時很有用。
Python還允許您查看正則表達式解析樹 ,如果您學習閱讀它可能會有所幫助。
使用示例數據進行單元測試 創建兩個數組,一個具有匹配的數據,另一個具有不匹配的數據,以便測試邊緣情況。
試用和 錯誤 成功。
因為我花了很多時間來實際學習它,而不是依靠別的東西來為我做。
同樣適用於任何語言/工具-需要一點時間來學習語法和一般的精神,你會更加富有成效不是依靠智能感知,代碼提示,等等。
有強大的在線工具 。 離線,
我一直用這個: http : //gskinner.com/RegExr/
我編寫了自己的工具: Regular Expression Tester 。 與許多其他基於Web的工具不同,這個工具可以將正則表達式分解為令牌並描述每個令牌正在做什么。 它非常適合檢查你很久以前寫過的新表達式或表達式,並且不太記得。
試錯。
和print_r
。
我真的很喜歡RegexPal ,它簡單,清晰,無需安裝,可在線免費使用。
在線...有一個帶js / pcre / posix實現的ajax正則表達式檢查器,在你輸入時進行檢查..方式很酷。
我曾經使用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)
當我正在測試正則表達式時,我通常使用Rubular 。 您也可以嘗試使用txt2re.com ,它可以幫助您找出表達式,甚至可以生成相關的PHP代碼。
這是Java的另一個在線正則表達式測試器:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.