Как обеспечить регулярное выражение для соответствия $$ - PullRequest
1 голос
/ 24 января 2011

У меня String str = "$$\\frac{6}{8}$$"; Я хочу сопоставить строки, используя начало с $$ и заканчивая $$

Как написать регулярное выражение для этого?

Ответы [ 3 ]

1 голос
/ 24 января 2011

Попробуйте использовать регулярное выражение:

^\$\$.*\$\$$

, которое в Java будет:

^\\$\\$.*\\$\\$$

A $ - метасимвол регулярного выражения, используемый в качестве конечного якоря.Чтобы обозначить литерал $, вам нужно экранировать его с обратной косой чертой \.

В Java \ является escape-символом в строке, а также в регулярном выражении.Таким образом, чтобы \ достиг движка регулярных выражений, вам нужно иметь \\ в строке.

Посмотреть это

1 голос
/ 24 января 2011

Используйте эту строку регулярного выражения:

"^$$.*$$$"

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

0 голосов
/ 24 января 2011

Вы можете захотеть что-то вроде этого:

final String str = "$$\\frac{6}{8}$$";
final String latex = "A display math formula " + str + " and once again " + str + " and another one " + "$$42.$$";
final Pattern pattern = Pattern.compile("\\$\\$([^$]|\\$[^$])+\\$\\$");
final Matcher m = pattern.matcher(latex);
while (m.find()) {
    System.out.println(m.group());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...