所以我需要在另外两个词之间说一句话;我正在使用模式和匹配器。
Pattern p = Pattern.compile("Hello(.*?)GoodBye");
Matcher m = p.matcher(line);
在这个例子中我得到了Hello和Goodbye之间的单词并且它有效。 我想要做的是替换Hello和GoodBye bye变量,例如:
String StartDelemiter = "Hello";
String EndDelemiter = "GoodBye";
如何在Pattern p = Pattern.compile(---)中写出来;我试过:
Pattern p = Pattern.compile( "{ "+StartDelemiter +" (.*?) "+EndDelemiter+" }" );
但应用程序崩溃!!
答案 0 :(得分:3)
您需要使用反斜杠转义{
和}
,例如:
Pattern p = Pattern.compile( "\\{ "+StartDelemiter +" (.*?) "+EndDelemiter+" \\}" );
花括号是正则表达式量词
<pattern>{n} Match exactly n times
<pattern>{n,} Match at least n times
<pattern>{n,m} Match at least n but not more than m times