我需要一个regexp来将所有字符串放在像这样的标签中: < - >这个标签里面包括任何字符,数字,空格,回车等。 我有这个正则表达式:
Pattern.compile("<-(.+?)->")
但它没有检测到特殊序列:\ r \ n等。
答案 0 :(得分: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
等。
答案 1 :(得分:1)
您可以尝试以下操作:
<-([\\S\\s]+?)->
答案 2 :(得分:0)
.
字符与换行符不匹配。这就是你遇到这个问题的原因。