[英]JavaScript Regular Expression to Java Regular Expression
我有一小段用Javascript編寫的文物代碼,用於掃描網頁源並查找模式。
我正在將功能遷移到Java程序。 因此,我的問題是,如何使用某種查找和替換功能將JavaScript正則表達式解析為Java?
例如,我的JavaScript正則表達式當前讀取(作為字符串)
RegEx = "/(\\\\/addthis_widget\\\\.(js|php)|\\\\.addthis\\\\.com\\\\/js\\\\/widget\\\\.(js|php))/i";
我在stackoverflow上發現了這個舊帖子:
如何將javascript regex轉換為安全的Java regex?
認為這可以解決問題:
strOutput.replace("/{{[^]*?}}/g","");
但是,這似乎不夠魯棒,並且不會產生可被編譯器識別的RegEx。
在開頭刪除/,在結尾刪除/ i。 在開始處添加(?i)。
Java不使用/expr/options
格式。 /expr/G
將替換為\\ G邊界匹配,但是在Java中,您通常只需多次調用matcher.find()
,它將自動在上一個匹配項的末尾搜索匹配項,從而使\\ G毫無意義。
將所有\\\\/
更改為/
,則不需要轉義正斜杠。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.