正则 [.\n]* (.|\n)* 区别
来源:互联网 发布:苹果文字扫描识别软件 编辑:程序博客网 时间:2024/05/08 01:22
实例:
Do you like the regular expression.\ I think so.
如果希望匹配连续多行文本,比如上面的代码内容:一个逻辑行可以分为许多现实的行,每一行以反斜线结尾。
曾经我写过的代码为:^[.\n]*
理由:.号匹配除换行符\n之外任何单字符,当然包括反斜线\,\n匹配换行符。似乎很不错,但结果却无法匹配。
这个问题曾经也让我纳闷了一段时间。如果换成(.|\n)*则OK。
为什么^[.\n]*无法匹配上例文本?
原因:
字符组内部,元字符的定义与外部是不一样的。在字符组内部,只有连字符“-”且连字符不能出现在字符组的开头,它才属于元字符,表示一个范围。
比如[1-9],等同于[123456789]。
[-19],它可以匹配字符-或1或9。这里的-不属于元字符
因此,本篇文章介绍的^[.\n]*中的.号,并不是我们认为的除换行符\n之外的任何单字符,它代表的就是字符.。当然无法匹配我们想要的结果。
我们可以写为:^[.\\\w\s]*
- 正则 [.\n]* (.|\n)* 区别
- (n++)+(n++)+(n++)与(++n)+(++n)+(++n)的区别
- \r\n \n 区别
- varchar(n),nvarchar(n)区别
- N!
- N!
- n
- N
- N!
- N!
- N!
- N!
- n!
- N!
- N!
- N!
- N!
- n
- 标题(H1-H6)标签的使用说明
- JSP脚本的9个内置对象(二)——config对象
- Android如何防止apk程序被反编译
- Workbench3.0-vxworks6.6仿真测试和调试指南
- SEOer,别让无谓的细节消磨意志
- 正则 [.\n]* (.|\n)* 区别
- SQLITE3 使用总结
- win7下安装svn服务器端及客户端详细步骤 基于svnserve 方式
- 如何在Altium Designer中将PCB生成PDF?
- memcache
- javascript 触发事件汇总
- height、clientHeight、scrollHeight、offsetHeight区别
- 性能测试模型
- Zookeeper 3.3.3 Transaction Logs&Snapshot 序列化