今天在做爬虫的时候,需要匹配下面Title中的内容,发现写的正则表达式question_link(.)>(\n)(.+)(\n*)<竟然匹配不上里面的中文,原来在win系统中文件中的换行其实包含了两个字符, /CR(回车),/LF(换行),这两个”.”都是匹配不上的.
1 | <h2><a class="question_link" href="/question/270597366/answer/355546388" data-id="22407872" data-za-element-name="Title"> |
修改成下面,成功匹配
1 | question_link(.*)>(\r)(\n)(.*) |
完整代码为:
1 | // 其中这段是从文件中摘录的,文件中查看特殊符号显示了换行包含两个字符 一个回车一个换行 |
小示例:
1 | String s1 = "\r1234\r567"; |
再次强调,回车和换行,”.”都不能匹配
1 | String s1 = "\r1234\r567"; |
更多知识请参考: