`
xiexd
  • 浏览: 248610 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

关于正则表达式匹配任意字符(包括换行符)的写法

    博客分类:
  • JAVA
阅读更多
今天在Java中想使用正则表达式来获取一段文本中的任意字符。于是很随意得就写出如下匹配规则:

(.*)

结果运行之后才发现,无法获得换行之后的文本。于是查了一下手册,才发现正则表达式中,“.”(点符号)匹配的是除了换行符“\n”以外的所有字符。同时,手册上还有一句话:要匹配包括 '\n' 在内的任何字符,请使用像 '[.\n]' 的模式。于是我将正则表达式的匹配规则修改如下:

([.\n]*),当然,如果是在java程序中直接写到话,需要改为([.\\n]*)

结果再次运行程序,发现什么内容也取不到了。我百思不得其解,又将其修改为如下规则:

([.|\n]*) 以及 ([\n.]*)

结果还是不行,什么内容都取不到。看来点符号和换行符卯上劲了~

然后上网一查,虽然没有查出上述规则到底是什么地方出问题了,但是查出了一个解决办法,经过一试,果然可以匹配包括换行符在内的任意字符,以下为正确的正则表达式匹配规则:

([\s\S]*)

同时,也可以用 “([\d\D]*)”、“([\w\W]*)” 来表示。

本文可以自由转载,转载时请保留全文并注明出处:
转载自仲子说 [ http://www.wangzhongyuan.com/ ]
原文链接:http://www.wangzhongyuan.com/archives/640.html







在文本文件里, 这个表达式可以匹配所有的英文
/[ -~]/
这个表达式可以匹配所有的非英文(比如中文)
/[^ -~]/

/是VI里用的. 你在editplus或程序里不需要/

分享到:
评论
2 楼 tvmovie 2012-03-13  
([\s\S]*)  非常需要,谢谢博主。
1 楼 zhongxinhu 2011-12-07  
昨晚搞了一晚上,很郁闷,也是这个问题

相关推荐

    正则表达式匹配任意字符(包括换行符)的写法

    于是查了一下手册,才发现正则表达式中,“.”(点符号)匹配的是除了换行符“\n”以外的所有字符。同时,手册上还有一句话:要匹配包括 ‘\n’ 在内的任何字符,请使用像 ‘[.\n]’ 的模式。于是我将正则表达式的匹配...

    正则表达式在数据库查询中的应用

    1. **模糊查询**:通过正则表达式匹配相似的文本,如查询包含特定单词或短语的记录。 ```sql SELECT * FROM articles WHERE content REGEXP '.*example.*'; ``` 2. **格式验证**:确保输入的数据符合预期的格式,...

    匹配任意字符的正则表达式写法

    点号在正则表达式中表示匹配除换行符之外的任意单个字符。但是,需要注意的是,点号无法匹配包括换行符在内的所有字符。这就导致了在某些情况下无法正确匹配字符串的问题。 本例中提到,作者在开发一个小型应用时,...

    Python 匹配任意字符(包括换行符)的正则表达式写法

    于是查了一下手册,才发现正则表达式中,“.”(点符号)匹配的是除了换行符“\n”以外的所有字符。 以下为正确的正则表达式匹配规则: ([\s\S]*) 同时,也可以用 “([\d\D]*)”、“([\w\W]*)” 来表示。 Web技术之家_...

    Java正则表达式入门范例

    4. 多行匹配:默认情况下,`.`不匹配换行符,如需匹配多行,需设置`Pattern.DOTALL`标志。 通过以上讲解,你应该对Java正则表达式有了基本的认识。实践是学习的最佳途径,尝试编写不同的正则表达式,并应用到实际...

    正则表达式工具(附正则表达式知识、示例)

    - \s:空白字符(包括空格、制表符、换行符等)。 - \S:非空白字符。 - \w:字母、数字或下划线(等同[a-zA-Z0-9_])。 - \W:非字母、数字或下划线(等同[^a-zA-Z0-9_])。 3. 分组与反向引用: - (…): ...

    正则表达式写法与部分表达式

    19. **\n[\s|]*\r**:匹配以换行符开头并可能包含空白字符的行尾。例如“\n \r”。 20. **/<(.*)>.*|<(.*)\/>/**:匹配HTML标签,例如`<div>`或`<img/>`。 21. **(^\s*)|(\s*$)**:匹配字符串开头或结尾的空白字符...

    常用正则表达式的写法

    - `\n[\s| ]*\r`:匹配空行,包括换行符和前后可能存在的空格。 - `(^\s*)|(\s*$)`:匹配字符串开头或结尾的空格。 9. **浮点数和整数**: - `^\d+(\.\d+)?$`:匹配非负浮点数(包括正浮点数和0)。 - `^-?\d+...

    Perl 正则表达式速查手册

    Perl正则表达式是用于文本处理的强大工具,被广泛应用于各种脚本编程任务中,包括数据验证、字符串替换、模式匹配等。本文档旨在为用户提供一个快速查阅Perl正则表达式的指南,包含了基本的特殊字符、元字符、锚点、...

    正则表达式手册.pdf

    - `\n` 匹配一个换行符。 - `\\` 匹配字符 "\"。 - `\(` 匹配 "(" 字符。 ##### 2. 开始位置匹配符:^ 匹配输入字符串的起始位置。在多行模式下,`^` 也可以匹配每一行的起始位置,即在 "\n" 或 "\r" 之后的位置。 ...

    perl正则表达式手册

    如果希望匹配包括换行符在内的所有字符,可以使用`(?s)`标志。 - **\***:重复零次或多次前面的字符或子表达式。 - **+**:重复一次或多次前面的字符或子表达式。 - **?**:重复零次或一次前面的字符或子表达式,也...

    常用的正则表达式集合

    - **"\\n[\\s|]*\\r"**: 匹配换行符。 - **"<(.*)>.*|<(.*)/>"**: 匹配HTML标签。 - **"(^\\s*)|(\\s*$)"**: 匹配字符串首尾的空白字符。 - **"\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"**: 匹配电子...

    正则表达式最佳入门,正宗资料

    不可显示的字符,如制表符(\t)、回车符(\r)和换行符(\n),可以用特殊字符序列来表示。在不同操作系统中,行结束的表示方式可能不同,如Windows使用"\r\n",Unix使用"\n"。 正则表达式引擎有两种类型:文本导向和...

    正则匹配后面非指定字符的正则 原创

    您可能感兴趣的文章:正则表达式匹配任意字符(包括换行符)的写法正则表达式匹配不包含某些字符串的技巧Java正则多字符串匹配替换正则表达式 匹配至少有一个非空白字符并且不超过指定长度匹配任意字符的正则表达式...

Global site tag (gtag.js) - Google Analytics