/ / Регулярно изражение на JavaScript към Java Regular Expression - java, javascript, regex

JavaScript Редовно изразяване на Java Регулярен израз - java, javascript, regex

Имам една малка част от реликтния код написан на Javascript, който сканира източник на уеб страница и търси модела.

Премествам функционалността в Java програма. Така че, моят questiong е как мога да анализира JavaScript редовен израз на Java един с някаква функция на намиране и замяна?

Например моят JavaScript Regex в момента чете (като низ)

RegEx = "/(\/addthis_widget\.(js|php)|\.addthis\.com\/js\/widget\.(js|php))/i";

Намерих тази стара публикация на stackoverflow:

Как да конвертирате javascript regex на безопасен java regex?

което предполага, че това ще свърши работа:

strOutput.replace("/{{[^]*?}}/g","");

Това обаче не изглежда достатъчно стабилно и не създава RegEx, който се признава от компилатора.

Отговори:

1 за отговор № 1

Премахнете / в началото и / i в края. Добавете (? I) в началото.

Java не се използва /expr/options формат. /expr/G ще бъде заменен с G граница мач, но в Java обикновено просто се обадите matcher.find() няколко пъти и ще започне автоматично търсенето на мача в края на предишното, което прави G безсмислен.

Променете всичко \/ да се /, напред не трябва да се избягва.