正则表达式匹配任意字符(包括换行符)的写法
2023-06-13 09:14:12 时间
今天在Java中想使用正则表达式来获取一段文本中的任意字符。于是很随意得就写出如下匹配规则:
(.*)
结果运行之后才发现,无法获得换行之后的文本。于是查了一下手册,才发现正则表达式中,“.”(点符号)匹配的是除了换行符“\n”以外的所有字符。同时,手册上还有一句话:要匹配包括"\n"在内的任何字符,请使用像"[.\n]"的模式。于是我将正则表达式的匹配规则修改如下:
([.\n]*),当然,如果是在java程序中直接写到话,需要改为([.\\n]*)
结果再次运行程序,发现什么内容也取不到了。我百思不得其解,又将其修改为如下规则:
([.|\n]*)以及([\n.]*)
结果还是不行,什么内容都取不到。看来点符号和换行符卯上劲了~
然后上网一查,虽然没有查出上述规则到底是什么地方出问题了,但是查出了一个解决办法,经过一试,果然可以匹配包括换行符在内的任意字符,以下为正确的正则表达式匹配规则:
([\s\S]*)
同时,也可以用“([\d\D]*)”、“([\w\W]*)”来表示。
在文本文件里,这个表达式可以匹配所有的英文
/[-~]/
这个表达式可以匹配所有的非英文(比如中文)
/[^-~]/
/是VI里用的.你在editplus或程序里不需要/
(.*)
结果运行之后才发现,无法获得换行之后的文本。于是查了一下手册,才发现正则表达式中,“.”(点符号)匹配的是除了换行符“\n”以外的所有字符。同时,手册上还有一句话:要匹配包括"\n"在内的任何字符,请使用像"[.\n]"的模式。于是我将正则表达式的匹配规则修改如下:
([.\n]*),当然,如果是在java程序中直接写到话,需要改为([.\\n]*)
结果再次运行程序,发现什么内容也取不到了。我百思不得其解,又将其修改为如下规则:
([.|\n]*)以及([\n.]*)
结果还是不行,什么内容都取不到。看来点符号和换行符卯上劲了~
然后上网一查,虽然没有查出上述规则到底是什么地方出问题了,但是查出了一个解决办法,经过一试,果然可以匹配包括换行符在内的任意字符,以下为正确的正则表达式匹配规则:
([\s\S]*)
同时,也可以用“([\d\D]*)”、“([\w\W]*)”来表示。
在文本文件里,这个表达式可以匹配所有的英文
/[-~]/
这个表达式可以匹配所有的非英文(比如中文)
/[^-~]/
/是VI里用的.你在editplus或程序里不需要/
相关文章
- 正则表达式匹配任意字符(包括换行符)[通俗易懂]
- Pikachu靶场-SQL注入-字符型注入(get)过关步骤
- 【Android 逆向】Android 系统文件分析 ( 外部存储设备文件 | sbin 命令程序目录 | dev 字符设备目录 )
- SQL开发基础:SqlServer 正则表达式的字符处理问题
- Oracle字符串拼接实现数据处理(oracle字符拼接)
- 掌握Oracle中字符编码的查询窍门(oracle查询字符编码)
- Linux字符探索——窥探神秘世界(linuxchar)
- 深入了解Oracle字符操作和正则表达式(oracle字符正则)
- 数据库探究Redis之字符型数据库的原因(为什么Redis是字符型)
- 解决方案MySQL数据库无法正常显示中文字符的问题(mysql不显示中文字符)
- Oracle中如何去除某字符的技巧(oracle中去除某字符)
- 包含中文字符的URL编码问题
- Js&Vbs正则表达式替换重复的字符
- JQuerytextlimit显示用户输入的字符数限制用户输入的字符数
- asp下过滤非法的SQL字符的函数代码
- 简单的用js实现过滤多余字符的正则表达式
- 正则表达式提取图片路径并过滤掉指定字符的写法
- JSP中的字符替换函数str_replace()实现!
- javascript删除字符串最后一个字符
- PHP实现通过中文字符比率来判断垃圾评论的方法
- javascript实现全角与半角字符的转换