У меня проблема с регулярным выражением между 2 строками. Я хочу получить значение между строкой #
и #
, но это регулярное выражение не работает, когда у меня новая строка (в моем случае \r\n
). например:
#89899#
#this is string I have
problem#
У меня проблема со строкой 2, потому что есть новая строка. как исключить новую строку в регулярных выражениях? мой код:
public static List parserStringBetween(String param1, String param2, String data) {
List result = null;
if (param1 != null && !"".equalsIgnoreCase(param1) && param2 != null && !"".equalsIgnoreCase(param2)
&& data != null && !"".equalsIgnoreCase(data)) {
result = new ArrayList<>();
Matcher m = Pattern.compile("\\" + param1 + "(.*?)\\" + param2).matcher(data);
while (m.find()) {
result.add(m.group(1));
}
}
return result;
}
param1
и param2
являются строкой между настройками, т.е. здесь #
. Как решить эту проблему?