Я следующий код для выполнения некоторых регулярных выражений на строкурегулярное выражение для в Java
public class RegexForPresto {
public static void main(String[] args) {
Pattern p = Pattern.compile("^M^M rawtostampedMsg^L 48^UT ");
String candidateString = "^M^M rawtostampedMsg^L 48^UT 1338802566.906^EOH^name;
Matcher matcher = p.matcher(candidateString);
String tmp = matcher.replaceAll("");
System.out.println(tmp);
}
}
Вместо того, чтобы просто получить
^EOH^name
я получаю следующий результат, когда я исполняю
^M^M rawtostampedMsg^L 48^UT 1338802566.906^EOH^name
Также можно удалить «^ EOH ^» из строки, чтобы получить только «имя» в качестве вывода. Я не знаю, как удалить специальный символ («^»). Любая помощь приветствуется.
Заранее спасибо.
Ваш circumflexions не делать то, что вы думаете, что они есть. – tchrist
«^» - специальный символ для RegEx. Вы можете использовать шаблон Pattern.quote() для этого. http://docs.oracle.com/javase/1.5.0/docs/api/java/util/regex/Pattern.html#quote%28java.lang.String%29 – Garbage