在正则中,匹配任意字符,其实写法网上有很多,但因为各种软件或程序写法不支持等原因导致的问题,大家可以多研究。
今天在Java中想使用正则表达式来获取一段文本中的任意字符。于是很随意得就写出如下匹配规则:
(.*)
结果运行之后才发现,无法获得换行之后的文本。于是查了一下手册,才发现正则表达式中,“.”(点符号)匹配的是除了换行符“\\n”以外的所有字符。同时,手册上还有一句话:要匹配包括
\’\\n\’ 在内的任何字符,请使用像 \'[.\\n]\’ 的模式。于是我将正则表达式的匹配规则修改如下:
([.\\n]*),当然,如果是在java程序中直接写到话,需要改为([.\\\\n]*)
结果再次运行程序,发现什么内容也取不到了。我百思不得其解,又将其修改为如下规则:
([.|\\n]*) 以及 ([\\n.]*)
结果还是不行,什么内容都取不到。看来点符号和换行符卯上劲了~
然后上网一查,虽然没有查出上述规则到底是什么地方出问题了,但是查出了一个解决办法,经过一试,果然可以匹配包括换行符在内的任意字符,以下为正确的正则表达式匹配规则:
([\\s\\S]*)
同时,也可以用 “([\\d\\D]*)”、“([\\w\\W]*)” 来表示。
在文本文件里,
这个表达式可以匹配所有的英文
/[ -~]/
这个表达式可以匹配所有的非英文(比如中文)
/[^ -~]/
/是VI里用的.
你在editplus或程序里不需要/
正则表达式代表任意字符的表达式怎么写
匹配任意字符 [\\s\\S]*或者[\\w\\W]*
正则表达式,又称规则表达式。(英语:RegularExpression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
正则表达式是对字符串(包括普通字符(例如,a到z之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。
正则则表达式中可以匹配任意一个字符的表达式有哪些?
[\\\\s\\\\S]可以用来表示任意
\\\\s表示所有空格字符
\\\\s表示所有非空字符
\\x00-\\xff
这个大概也可以,表示的是ascll,0-255的字符
很多表达式可以匹配任意字符如
[\\S\\s]
表示空格或非空格,
那就是任意字符了
还有一个点
.
在单行模式下表示除了回车以外的任意字符,
在多行模式表示任意字符.
还有
[\\W\\w]
这种跟[\\S\\s]
一样,
它表示任意可以组成词的字符和不能组成词的字符
一般这些正则关键字,
大写表示和小写相反的意思,
你两个连一起,中括号括起来,就是
X或者非X
其实就是任意字符了.
以上就是关于正则表达式怎样匹配任意字符全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!