簡體   English   中英

JavaScript正則表達式到Java正則表達式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM