正则表达式中,[\s\S]* 什么意思。。。。“[ ]”不是范围描述符吗?

例如:[a-z]表示从a到z之间的任意一个。不是这样的吗?谁能给我解释一下[]的所有用法?感谢... 例如:[a-z]表示从a到z之间的任意一个。

不是这样的吗?谁能给我解释一下[ ]的所有用法?感谢
展开
 我来答
againinput4
2013-01-04 · TA获得超过2407个赞
知道大有可为答主
回答量:1446
采纳率:70%
帮助的人:642万
展开全部
先说你的理解是如何错的。
1.[a-z],的确是表示:a到z之间的任意个。
2.但是[],不是范围描述符。
3.(中括号内的)短横线-,算是你所说的范围描述符。
4.再说:

[],本意是表示,所有可能的集合;
本来表示a到z,是应该这么写:
[abcde此处省略部分xyz]
很明显,如果正则表达式非要这么写,那么写正则的人,就累死了。
所以,正则的语法中,允许你:
在中括号内,通过
起始-结束
的形式,表达一段范围。
此处即通过
a-z
表示
abcde此处省略部分xyz
5.注意,我说的是:
中括号内
a-z
放到中括号[]之外,就只是个普通的三个字符:
a 短横线 z
而已
6.因此,我上面才说:
你所理解的,范围描述符,其实是短横线'-'
7.类似的
起始-结束
表示一段范围的写法还有:
[0-9]表示从0到9的任意数字
[A-Z]表示大写字母A到Z中任意一个
8.正则中,为了更方便你使用,还弄了个更方便的缩写:
\w
表示
[0-9a-zA-Z_]
即 数字 小写字母 大写字母 下划线
的组合
否则每次都这么写,也是累死了。
其中
[0-9]也可以用\d表示

9.关于中括号的,更详细的完整的解释,我早就写了教程了,自己去看吧:
【教程】详解Python正则表达式之: [] bracket 中括号 匹配某集合内的字符

(此处不给贴地址,请自己用google搜标题,就可以找到地址了)
追问
那么专家再请问一下,为什么我用\s匹配不了换行?只有用[\s\S]才行?
这几天复习没时间。。。让你久等了
追答
1."为什么我用\s匹配不了换行?"
我可以确定,是可以匹配换行的。
肯定是你用错了。
或者是对于输入的内容自己搞错了。
2. \s的含义是:
非Unicode模式下,匹配
[ \t\n\r\f\v]
即 空格 制表符 换行 回车 换页 垂直制表符
3.其中,windows中的换行,实际上是两个字符:
\r\n
所以,如果你是用\s去匹配两个字符的话,那当前是匹配不了的。
4.关于回车换行,先去看:
【详解】回车 换行 0x0D 0x0A CR LF \r \n的来龙去脉
5.“只有用[\s\S]才行?”
[\s\S]是用来匹配 单个字符,可以是任意字符
6.写正则,前提是:
搞清楚:
输入字符串的规律
想要什么样的输出
然后才能写出对应的,精确的正则的。
cmoooo
推荐于2017-12-15 · TA获得超过3587个赞
知道小有建树答主
回答量:741
采纳率:0%
帮助的人:672万
展开全部
是完全通配的意思,\s是指空白,包括空格、换行、tab缩进等所有的空白,而\S刚好相反

这样一正一反下来,就表示所有的字符,完全的,一字不漏的。

另外,[]这个符号,表示在它里面包含的单个字符不限顺序的出现,比如下面的正则:

[ace]*

这表示,只要出现a/c/e这三个任意的字母,都会被匹配

[\s]表示,只要出现空白就匹配

[\S]表示,非空白就匹配

那么它们的组合,表示所有的都匹配,与它相对应的,有[\w\W]等,意义完全相同、

另外要说的一点是,为什么有"."这个通配符了,还要这样的用法。

其实,[\s\S] [\w\W]这样的用法,比较"."所匹配的还要多,因为"."是不会匹配换行的,所有出现有换行匹配的时候,人们就习惯 使用[\s\S]或者[\w\W]这样的完全通配模式。
更多追问追答
追问
那么专家再请问一下,为什么我用\s匹配不了换行?只有用[\s\S]才行?
这几天复习没时间。。。让你久等了,等一下我选最佳的时候加分。。
追答
\s无法匹配换行?这不对呀。

我在PHP、JavaScript、C#这三种语言中都使用过该正则,可以匹配。

而且当你说无法匹配后,我还以为我记错了,都测试了一下,是可以匹配的!

你是不是匹配后输出没有处理?

比如在HTML网页中没有看到,如果是这样,因为HTML网页中是不会显示出\r\n或者\n这样的换行的,要查看也只能在源代码中看到,HTML中只能看到这样的换行。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友85ac4e6
2018-03-31 · TA获得超过1.3万个赞
知道小有建树答主
回答量:74
采纳率:0%
帮助的人:1.1万
展开全部
  1. [\s\S]*是完全通配的意思;

  2. “[ ]”是范围描述符。

\s是指空白,包括空格、换行、tab缩进等所有的空白,而\S刚好相反,这样一正一反下来,就表示所有的字符,完全的,一字不漏的。

另外,[]这个符号,表示在它里面包含的单个字符不限顺序的出现,比如:

[ace]*---这表示,只要出现a/c/e这三个任意的字母,都会被匹配;

[\s]---表示,只要出现空白就匹配;

[\S]---表示,非空白就匹配;

表示所有组合都是相应的,有[\w\W]等,意义完全相同。

还有一点,有"."这个通配符了的原因是:

原因是因为"."是不会匹配换行的,所有出现有换行匹配的时候,使用[\s\S]或者[\w\W]这样的完全通配模式。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
申江渔夫
2013-01-03 · TA获得超过895个赞
知道小有建树答主
回答量:1479
采纳率:0%
帮助的人:695万
展开全部
\s 匹配任意的空白符

\S 匹配任意不是空白符的字符
[\s\S]*的意思是匹配所有的字符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-05-15
展开全部
三金鑫 xīn 多用于商店字号、人名用字,取其金多兴旺之意
三木森 sēn 本义: 树木丛生繁密
三水淼 miǎo 会意。从三水。又作“渺”。本义:水大的样子。这个字多用作女孩子的名字,我邻居小孩就叫淼淼。:)
三土垚 yáo 意思为山高,那么多土当然山高啦。多用于人名。古同“尧”。
三火焱 yàn 光华,光焰。
还有一些跟自然植物有关系的三叠字:
三雷靐 bìng 雷声
三日晶 jīng 从三日,表示光亮之意
三屮卉(芔) huì 会意。小篆字从三“屮”(chè),草木初生。本义:草的总称
三车轰 hōng 同“轰”,会意。从三车。本义:群车行驶声
三石磊 lěi 众石,石头多,心地光明坦白
三田畾 léi 古同“雷”,同“垒”,也表示田间的土地
三厶厽 lěi 垒土块为墙
三香馫 xīn 古同“馨”,芳香,散布很远的香气
三风飍 xiū 惊跑的样子
三泉灥 xún 三泉
三原厵 yuán 古同“源”,水源,源泉
跟动物有关的三叠字:
三牛犇 bēn 同奔。有个人的名字叫“牛犇犇”,小名叫“七匹牛”。:)
不如不发救兵,借之力以除之。”尚从其言,不肯发兵。使者回报,谭大怒,立逢纪,议欲降。早有细作密报袁尚。尚与审配议曰:“使谭降,并力来攻,则冀州危矣。”乃留审配并大将苏由固守冀州,自领大军来黎阳救谭。尚问军中谁敢为前部,大将吕旷、吕翔兄弟二人愿去。尚点兵三万,使为先锋,先至黎阳。谭闻尚自来,大喜,遂罢降之议。谭屯兵城中,尚屯兵城外,为掎角之势。

不一日,袁熙、高干皆领军到城外,屯兵三处,每日出兵与相持。尚屡败,兵屡胜。至建安八年春二月,分路攻打,袁谭、袁熙、袁尚、高干皆大败,弃黎阳而走。引兵追至冀州,谭与尚入城坚守;熙与于离城三十里下寨,虚张声势。兵连日攻打不下。郭嘉进曰:“袁氏废长立幼,而兄弟之间,权力相并,各自树党,急之则相救,缓之则相争;不如举兵南向荆州,征讨刘表,以候袁氏兄弟之变;变成而后击之,可一举而定也。”善其言,命贾诩为太守,守黎阳;洪引兵守官渡。引大军向荆州进兵。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式