在探索正則表達(dá)式(也稱為RegEx-es)時(shí),似乎有很多人似乎將正則表達(dá)式視為圣杯??雌饋砗軓?fù)雜的東西-只是任何問題的答案。他們傾向于認(rèn)為使用正則表達(dá)式可以解決每個(gè)問題。另一方面,也有很多人不惜一切代價(jià)避免使用正則表達(dá)式。他們?cè)噲D找到一種圍繞正則表達(dá)式的方法,并為此目的接受其他編碼,即使正則表達(dá)式將是一個(gè)更緊湊的解決方案。為什么正則表達(dá)式被認(rèn)為有爭(zhēng)議?關(guān)于它們的工作原理是否存在廣泛的誤解?還是可以廣泛相信正則表達(dá)式通常很慢?
3 回答

尚方寶劍之說
TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
我不認(rèn)為人們反對(duì)正則表達(dá)式是因?yàn)樗鼈兒苈?,而是因?yàn)樗鼈兒茈y讀寫,而且很難正確。雖然在某些情況下正則表達(dá)式可以為問題提供有效,緊湊的解決方案,但有時(shí)它們會(huì)糾纏于最好使用易讀,可維護(hù)的代碼部分的情況。

慕的地8271018
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
我認(rèn)識(shí)的幾乎每個(gè)定期使用正則表達(dá)式(意為雙關(guān)語(yǔ))的人都來自Unix-ish背景,他們使用將RE視為一流編程結(jié)構(gòu)的工具,例如grep,sed,awk和Perl。由于使用正則表達(dá)式幾乎沒有語(yǔ)法開銷,因此使用它們時(shí),它們的生產(chǎn)率會(huì)大大提高。
相反,使用RE作為外部庫(kù)的語(yǔ)言的程序員往往不考慮正則表達(dá)式可以帶給表什么。程序員的“時(shí)間成本”如此之高,以至于a)RE從未作為培訓(xùn)的一部分出現(xiàn),或者b)他們不對(duì)RE進(jìn)行“思考”,而是傾向于使用更熟悉的模式。
- 3 回答
- 0 關(guān)注
- 698 瀏覽
添加回答
舉報(bào)
0/150
提交
取消