Hi, 如果有任何想法与我沟通, 请用: lifr_nj 在 msn.com
正则表达式之Multiline和Dotall模式
上一篇 /
下一篇 2010-04-21 10:59:41
/ 个人分类:dev
一直以来把Multiline和Dotall模式混淆了,奇怪怎么一直都没有出问题?人品?
不过出来混总是要还的, 今天和一个同事讨论一个正则表达式终于"出丑"了.然后才把二者搞清楚.
* multiline
如果regexp里出现了^或者$, 那么by default只会匹配第一行. 设置了Multiline,会匹配所有行.
比如
- regexp: /^.*AAA.*$/
- src: "abcBBBdef\nsdfAAAfff\nsdf"
- without Multiline: 匹配失败
- with Multiline: 匹配成功
所有, 在regexp里出现了^$, Multiline才有意思, 否则是没有意义的.
* dotall
默认情况下,
.不会匹配换行符, 设置了Dotall模式,
.会匹配所有字符包括换行符
比如
- regexp: /BBB.*AAA/
- src: "abcBBBdef\nsdfAAAfff\nsdf"
-
without Dotall: 匹配失败
-
with Multiline: 匹配成功
收藏
举报
TAG: