/ / Javascript для Java Regex - java, javascript, regex

Javascript для Java Regex - java, javascript, regex

Мені було цікаво, чи зможе хтось допомогти мені з цим регулярним виразом. Використовуючи тест регулярного виразу і таким чином я отримую результат, який я хочу, я не можу зробити те ж саме в Java

/^(?: {4})+(?=.+)/gm

Відповіді:

1 для відповіді № 1

Використовуйте Pattern.MULTILINE для /m модифікатор (або прапор). І використовуйте ітератор для /g. І, звичайно, видаліть розділювачі / з обох кінців вашого регулярного виразу. Будь ласка, перегляньте цей приклад:

String input = "...some input...";
Pattern pattern = Pattern.compile("^(?: {4})+(?=.+)", Pattern.MULTILINE);
Matcher m = pattern.matcher(input);

// Using iterator doing the /g part here
while (m.find()) {
System.out.println(m.group(1));
}

1 для відповіді № 2

Видалити /gm формування регулярного виразу. Це javascript regex not java.
Якщо ви хочете перетворити JavaScript-regex на java, у нас вже є відповідь тут. Подивитися Як перетворити регулярний вираз javascript в безпечний java regex?


0 для відповіді № 3

Це має зробити це:

Pattern regex = Pattern.compile("^(?: {4})+(?=.+)", Pattern.MULTILINE);