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

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

(.*)

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

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

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

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

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

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

([\s\S]*)

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

在文本文件里, 这个表达式可以匹配所有的英文

/[ -~]/

这个表达式可以匹配所有的非英文(比如中文)

/[^ -~]/

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

时间: 2024-10-23 22:13:43

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

C#正则表达式匹配任意字符

原文:C#正则表达式匹配任意字符 不得不说正则很强大,尤其在字符串搜索上 匹配任意字符,包括汉字,换行符: [\s\S]*. 版权声明:本文为博主原创文章,未经博主允许不得转载.

实现正则表达式匹配任意字符解析

我们如何实现正则表达式匹配任意字符的效果呢?这个过程需要使用什么呢?具体的操作需要注意那些方面呢?那么现在我们就来揭开这神秘的一面: 实现正则表达式匹配任意字符的真相: 使用"."匹配几乎任意字符.在正则表达式中,"."是最常用的符号之一.不幸的是,它也是最容易被误用的符号之一. "."匹配一个单个的字符而不用关心被匹配的字符是什么.唯一的例外是新行符.在本教程中谈到的引擎,缺省情况下都是不匹配新行符的.因此在缺省情况下,"."

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

今天在Java中想使用正则表达式来获取一段文本中的任意字符.于是很随意得就写出如下匹配规则: (.*) 结果运行之后才发现,无法获得换行之后的文本.于是查了一下手册,才发现正则表达式中,"."(点符号)匹配的是除了换行符"\n"以外的所有字符.同时,手册上还有一句话:要匹配包括 '\n' 在内的任何字符,请使用像 '[.\n]' 的模式.于是我将正则表达式的匹配规则修改如下: ([.\n]*),当然,如果是在java程序中直接写到话,需要改为([.\\n]*) 结果

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

想使用正则表达式来获取一段文本中的任意字符,写出如下匹配规则: (.*) 结果运行之后才发现,无法获得换行之后的文本.于是查了一下手册,才发现正则表达式中,"."(点符号)匹配的是除了换行符"\n"以外的所有字符. 以下为正确的正则表达式匹配规则: ([\s\S]*) 同时,也可以用 "([\d\D]*)"."([\w\W]*)" 来表示. Web技术之家_www.waweb.cn 在文本文件里, 这个表达式可以匹配所有的英文

正则表达式学习笔记 行的开始和结束、字符组、连字符、脱字符、用"."去匹配任意字符

行的开始和结束 开始符号:^ 结束符号:$  如:^cat 应该理解为以c作为一行的第一个字符,紧接着是a,然后是t例如:String str = "catabdcatdetfcat"^cat : 验证该行以c开头紧接着是a,然后是tcat$ : 验证该行以t结尾倒数第二个字符为a倒数第三个字符为c^cat$: 以c开头接着是a->t然后是行结束:只有cat三个字母的数据行^$   : 开头之后马上结束:空白行,不包括任何字符^    : 行的开头,可以匹配任何行,因为每个行都有

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

实现代码如下,起初测试正常(后来遇到问题),先来看最初的代码 复制代码 代码如下: var docs = document.body.innerHTML; var links =docs.match(/ed2k.*\|\//gi);//注意这里 使用了点(.)符号匹配任意字符 document.body.innerHTML = ""; for( var link in links){<BR> document.body.innerHTML += links[link]+&q

正则表达式匹配任何字符

问题描述 正则表达式匹配任何字符 正则表达式匹配任何字符,包括换行,但是只能输入500个字符(其实就是任意输入,但是要有字数的限制) 解决方案 [sS]{0,500} 解决方案二: ^[s|S]${0,500}

php 正则表达式匹配所有字符(可匹配换行)

对正则我是一知半解,我对正则的理念就是,能用就行! 对于所有字符,我一开始的理解就是 .* 后来GOOGLE了一下,才知道.*连在一起就意味着任意数量的不包含换行的字符. 所以可以使用 [\s\S]* 它的意思是任意空白字符和非空白字符.同理,也可以用 "[\d\D]*"."[\w\W]*" 来表示. d和D,w和W,s和S都是反义,加起来就是全部字符了. 注意:写在文本中的n是不会自动视为换行符的,测试$_="asdfnasdf";s/./-/

正则表达式表示任意字符

正则表达式可以用.*匹配任意除换行之外的字符.但如果内容中包含任意多个换行怎么匹配?用.*是匹配失败的.但可以用[\s\S]*?. \s是匹配所有空白字符,\S是匹配所有非空白字符,那么[\s\S]这个组合就可以匹配所有字符了. 原帖地址:http://mxq824.blog.163.com/blog/static/1221185620124303330696/