正则表达式 \[(.*?)\] 如何解释

\[(.*?)\]
可以匹配
[XXX]12312[XXX]3123[XXX]12312中的[XXX]
而\[(.*)\]
可以匹配[XXX]12312[XXX]3123[XXX]
为什么多了个问号就可以把中扩号配对?
当正则表达式中包含能接受重复的限定符时,通常的行为是(在使整个表达式能得到匹配的前提下)匹配尽可能多的字符。以这个表达式为例:a.*b,它将会匹配最长的以a开始,以b结束的字符串。如果用它来搜索aabab的话,它会匹配整个字符串aabab。这被称为贪婪匹配。

有时,我们更需要懒惰匹配,也就是匹配尽可能少的字符。前面给出的限定符都可以被转化为懒惰匹配模式,只要在它后面加上一个问号?。这样.*?就意味着匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复。现在看看懒惰版的例子吧:

a.*?b匹配最短的,以a开始,以b结束的字符串。如果把它应用于aabab的话,它会匹配aab(第一到第三个字符)和ab(第四到第五个字符)。

.*是贪婪匹配,也就是说你第1个出现"["的地方,和最后一个出现"]"的地方
.*?是惰性匹配,也就是说第1个出现"["的地方,和跟着最近的出现"]"的地方
温馨提示:内容为网友见解,仅供参考
第1个回答  2021-01-22

正则表达式 \\[(.*?)\\] 如何解释
.*是贪婪匹配,也就是说你第1个出现"["的地方,和最后一个出现"]"的地方 .*?是惰性匹配,也就是说第1个出现"["的地方,和跟着最近的出现"]"的地方

C#中的正则表达式 \\(([^)]*)\\)是什么意思?最好可以逐词解释下谢谢了...
这个的意思是取()和括号里面内容,\\(这个是转义成“(”,([^)]*)这部分是取非“)”的任意个字符,其中括号代码子集,[]代表取取值范围,^)代表非),*代表任意个字符,“\\)”转义成“)”。差不多就这个意思吧。[^ 字符分组 ] 非:与不在 [] 中的任何单个字符匹配。( 子表达式 ) 捕获匹...

正则表达式\/<.*>\/,求解释!
正则中 点 表示除去换行符以外的所有字符, 星号表示出现0次或多次

一个超复杂的正则表达式,求详细解释,其实有一部分我可以看懂,不过还是...
:[\\"\\'],字符集,表示可接受单引号和双引号,\\表示escaped sequence,就是转义字符,告知正则式引擎其后跟着的字符是文本,不要拿去做特殊解释(正则式语法中例如*.+\\等等有特殊含义的字符称为元字符,meta-character)。()表示捕获,捕获匹配到的实际字符串,有两种用法,1,可在匹配完毕后使用match...

正则表达式\/()$\/是什么意思啊
()是匹配分组 是字符串段落结束 \/ \/ 表示是正则 你最好自己看看正则相关的内容...

正则表达式中“.*?”代表什么?
详细解释如下:一、正则表达式的组成 正则表达式是一种强大的文本处理工具,它使用特定的模式来匹配字符串。在正则表达式中,“.”代表匹配除换行符之外的任何单个字符,“*”表示匹配前一个元素零次或多次。二、“.*”的含义 当“.”和“*”结合...

\\"(?<content>[\\w\\W]*?)\\" 这个正则表达式 我怎么看不懂 求解释
<content>正则) 是一种命名捕获的结构,它里面的正则如果匹配了,在后面就可以用\\k<content>来引用;[\\w\\W] 用了互补的集合,来表示“任意字符”,这里和.(点)的概念差不多,但.(点)在默认的情况下是不支持换行符的,用[\\w\\W]就可以匹配任意的字符,也包括换行符;后面的*?:*代表...

正则表达式.*什么意思
正则的解释[regular] 具有全等正多边形各面的以及多面体的所有角均相等的 详细解释 (1).正其 礼仪 法则。 汉 张衡 《东京赋》 :“辩方位而正则,五精帅而来摧。” (2).正规;常规。 《西游补》 第一回:“七龄 孔子 ,帐中鸣蟋蟀之音;二八 曾参 ,阶下拜荔枝之献。胡为乎不讲此正则也?

正则表达式
正则经常用于js 判断手机号,邮箱等,通过简单的办法来实现强大的功能 符号解释 字符 描述 \\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\\n' 匹配一个换行符。序列 '\\\\' 匹配 "\\" 而 "\\(" 则匹配 "("。^ ...

\/^.[^:#\\[\\.,]*$\/正则表达式在jquery中的意思
任意字符开头,除了:#[.,以外的字符组成并结尾的字符串 ^只有在[]中,且紧临[时才是指不包含的意思 写在第一个位置,是以某个字符开头的意思

相似回答