一千萬個為什麽

搜索

為什麽正則表達式如此具有病態吸引力?

Exhibit 1, Exhibit 2, I guess you won't find it hard to recall other examples.

事情是:如果解決問題的方法不止一種,那麽PHP程序員(我通常瀏覽StackOverflow上的PHP標簽)會請求有關正則表達式的解決方案的幫助。 Even when it will be less economic, even when the PHP manual suggests (link) to use strreplace instead of any preg* or ereg_* function when no fancy substitution rules are required. 有人知道為什麽會這樣嗎?

不要誤會我的意思,我最好的朋友都是正則表達式,我不鄙視Perl。我沒有得到的是為什麽沒有尋找替代方案,即使過度殺傷是顯而易見的(正則表達式切換字符串)或代碼復雜性呈指數級增長(正則表達式從PHP 獲取數據 )

最佳答案

When the only tool you have is a regex, every problem looks like ^((?>[a-zA-Z\d!#$%&'+-/=?^_{|}~]+\x20|"((?=[\x01-\x7f])[^"\]|\[\x01-\x7f])"\x20)(?<))?((?!.)(?>.?[a-zA-Z\d!#$%&'+-/=?^_{|}~]+)+|"((?=[\x01-\x7f])[^"\]|\[\x01-\x7f])*")@(((?!-)[a-zA-Z\d-]+(?)$

轉載註明原文: 為什麽正則表達式如此具有病態吸引力?