我最近看了《30分鐘學(xué)會正則表達(dá)式》看到博主自己做了一個(gè)C#版本的正則測試器,所以我突發(fā)奇想,昨晚寫了個(gè)js版本的正則測試器。但是呢還是比較粗糙。關(guān)于怎么判斷用戶輸入的正則表達(dá)式是正確的正則表達(dá)式,題主使用了以下的方法。varpattern=/^\/(.*)\/([igm]{0,3})$/;vartestStr1='/ab[de]/igm';varresult=testStr1.match(pattern);varMatchedRegExp=newRegExp(result[1],result[2]);像這樣如此這般就可以用用戶輸入生成一個(gè)正則表達(dá)式。但是我遇到了以下問題:如果用戶輸入的正則中有換行符的話,就會出錯。比如:testStr='/ab\ncd/igm'因?yàn)楸緛碜鳛檩斎虢Y(jié)尾的$匹配上了\n,這樣整個(gè)正則就有可能無法正確匹配了。所以在此詢問一下有沒有比較好的實(shí)現(xiàn)方法?根據(jù)本問題中@依云大神提出的方法,我實(shí)現(xiàn)了一個(gè)測試器,在此表示感謝。鏈接:《自己實(shí)現(xiàn)的一款在線Javascript正則表達(dá)式測試器——JRE-Parser》
如何用正則表達(dá)式匹配正則表達(dá)式?
暮色呼如
2019-04-08 11:19:26