Я пытался удалить однострочные комментарии из файлов JavaScript, используя приведенное ниже регулярное выражение:
Pattern p = Pattern.compile("(?m)(?:[\\(|\\)|;|\\}|\\{])\\s*/{2}(.*?)$");
Шаблон работает, когда я тестирую его в чем-то вроде RegexPal , используяПараметр «^ $ соответствует разрыву строки» в некотором примере исходного кода JavaScript.
Однако при помещении его в мою Java-программу возникает проблема, заключающаяся в том, что флаг «m» работает неправильно.По сути, даже несмотря на то, что я указываю флаг, используя «(? M)» в начале шаблона (хотя я также пытался использовать Pattern.MULTILINE
), кажется, что он полностью игнорируется, что делает мое соответствие $
все до конца всего документа, а не только EOL.