Сопоставление дословного режима [дубликат]JAVA

Программисты JAVA общаются здесь
Anonymous
Сопоставление дословного режима [дубликат]

Сообщение Anonymous »

Java.util.regex.pattern , java.util.pattern.matcher есть какой -то режим "Vorbatim"?
Я использую его для поиска текста. Тем не менее, пользователь может напечатать что -то вроде обратной черты (\). Как есть, это заставляет мою программу сбой. < /P>
Все токены должны интерпретироваться буквально. Конечно, я не хочу вручную избегать всего.import org.junit.jupiter.api.Test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;

class GenericTest {

@Test
void someTest() {
Pattern pattern = Pattern.compile("\\"); // throws here
Matcher matcher = pattern.matcher("\\");
boolean hasMatch = matcher.find();
assertTrue(hasMatch);
assertEquals("\\", matcher.group());
}
}
< /code>
Exception in thread "AWT-EventQueue-0" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
at java.util.regex.Pattern.error(Pattern.java:1969)
at java.util.regex.Pattern.compile(Pattern.java:1708)
at java.util.regex.Pattern.(Pattern.java:1352)
at java.util.regex.Pattern.compile(Pattern.java:1054)


Подробнее здесь: https://stackoverflow.com/questions/796 ... x-matching

Вернуться в «JAVA»