【发布时间】:2018-07-04 03:35:21
【问题描述】:
我对 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 是设置之间的字符串,即这里的 #。如何解决这个问题?
【问题讨论】: