1

我需要一个正则表达式来获取类似标签内的所有字符串: <- -> 在这个标签内包括任何字符、数字、空格、回车等。我有这个正则表达式:

Pattern.compile("<-(.+?)->") 

但它没有检测到特殊序列:\r\n 等。

4

3 回答 3

2

but it not detect a special sequence as: \r \n etc

Pattern.DOTALL除非您使用以下标志,否则它将不匹配换行符:

Pattern p = Pattern.compile("<-(.+?)->", Pattern.DOTALL);

或者你可以使用(?s)标志:

Pattern p = Pattern.compile("(?s)<-(.+?)->");

Pattern.DOTALL使点匹配换行符,因此.+?也将匹配\r\n

于 2013-09-22T14:40:30.677 回答
1

您可以尝试以下方法:

<-([\\S\\s]+?)->
于 2013-09-22T14:40:36.763 回答
0

.字符与换行符不匹配。这就是您遇到问题的原因。

于 2013-09-22T14:39:51.760 回答