Я пытаюсь заменить все виды комментариев (одиночные, встроенные и многострочные). Начальное регулярное выражение работало абсолютно нормально, когда между какими-либо кавычками не было //
& /* */
, ""
или """"""
. Когда я немного изменил регулярное выражение для обработки и исключения вхождений // между кавычками, это приводило к сбою и путанице в исходной структуре кода.
Вот мое первоначальное регулярное выражение (регулярное выражение: 1): (?:/\\*(?:[^*]|(?:\\*+[^*/]))*\\*+/)|(?://.*)
Здесь я настроил регулярное выражение, чтобы попытаться обработать однострочные комментарии внутри кавычек (регулярное выражение: 2): (?:/\\*(?:[^*]|(?:\\*+[^*/]))*\\*+/)|[^\"](?://.*)[^\"]
Рассмотрим этот пример данных:
// Comment 1
/* Multiline comments
ends here */ Some text
Random statement // something else
import something..
import something else /* few random stuff
that goes on */ /* Lets try this again */
Text to show
val tryThis = " something // else "
val tryAgain = "12345"
val again = " /* kskokds // */ "
Фактический результат регулярного выражения: 1 =>
Some text
Random statement
import something..
import something else
Text to show
val tryThis = " something
val tryAgain = "12345"
val again = " "
Фактический результат регулярного выражения: 2 =>
// Comment 1
Some text
Random statementimport something..
import something else
Text to show
val tryThis = " somethingval tryAgain = "12345"
val again = " "
Ожидаемый результат =>
Some text
Random statement
import something..
import something else
Text to show
val tryThis = " something // else "
val tryAgain = "12345"
val again = " /* kskokds // */ "