najlepiej multiline komentarz regex jest unrolled wersja (?s)/\*.*?\*/
że wygląda
String pat = "/\\*[^*]*\\*+(?:[^/*][^*]*\\*+)*/";
Zobacz /\*[^*]*\*+(?:[^/*][^*]*\*+)*/
regex demo i wyjaśnień w regex101.com.
W skrócie,
/\*
- dopasować komentarz rozpocząć /*
[^*]*\*+
- mecz 0+ znaki inne niż *
następnie z 1+ dosłownych *
(?:[^/*][^*]*\*+)*
- 0+ sekwencji:
[^/*][^*]*\*+
- nie jest to /
lub *
(dopasowane [^/*]
), a następnie z 0+ znaków spoza gwiazdką ([^*]*
), a następnie z gwiazdkami (1+) \*+
/
- zamykanie /
David's regex potrzeb 26 kroków wybrać dopasuj w moim przykładowym łańcuchu, a my regex potrzebuje tylko 12 kroków. Przy dużych nakładach, wyrażenie regularne Davida prawdopodobnie zawodzi w przypadku problemu z przepełnieniem stosu lub czegoś podobnego, ponieważ dopasowanie lazy do kropki jest nieefektywne z powodu leniwego rozszerzania wzorca w każdej lokalizacji, w której działa silnik regex, podczas gdy mój wzorzec dopasowuje liniowe fragmenty tekstu za jednym zamachem .
analizowaniem kodu Java z regex nie jest coś, polecam. – Confluence
@Confluence, nie jestem pewien, co może być najlepszym rozwiązaniem, aby osiągnąć wynik? Czy możesz zaproponować jeden. – hanumant
Co wypróbowałeś za pomocą regex? Jak już powiedziałeś, że próbowałeś czegoś, możesz równie dobrze wkleić go tutaj, abyśmy mogli zobaczyć twoje podejście. Możemy przejść do mniej lub bardziej szczegółowych informacji na temat rozwiązań w zależności od Twoich doświadczeń. – brimborium