当我创建模式时 - Pattern.compile("+:")
以提取以下行的信息
Pattern pattern = Pattern.compile("+:");
String fields[] = pattern.split( "UNB+UNOA:1+KRR+KRR+050313:1257+1+++++KRR");
第Pattern.compile("+:");
行显示悬空的元字符错误。
如何解决?
感谢。
答案 0 :(得分:1)
你应该用反斜杠转义元字符。由于反斜杠本身需要在Java中转义,因此您需要重复它:
Pattern pattern = Pattern.compile("\\+:");
答案 1 :(得分:0)
您也可以使用引用的版本:
String quotedPlus = Pattern.quote("+");
Pattern pattern = Pattern.compile(quotedPlus + ":");
String str = "3+:";
System.out.println(pattern.matcher(str).find()); // true
您可以在this SO question上看到更多内容。