我需要一个正则表达式来获取类似标签内的所有字符串: <- -> 在这个标签内包括任何字符、数字、空格、回车等。我有这个正则表达式:
Pattern.compile("<-(.+?)->")
但它没有检测到特殊序列:\r\n 等。
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
。
您可以尝试以下方法:
<-([\\S\\s]+?)->
该.
字符与换行符不匹配。这就是您遇到问题的原因。