正则表达式.*(.)(.*尀尀1).是什么意思?

2025-05-19 05:48:19
推荐回答(2个)
回答1:

.*(.)(.*\\1).
第1个
.
代表任意字符,后面的
*
代表
前面的任意字符有0个或多个
第2个
.
也代表任意字符,但它被括号括起来了,括号代表它被捕获了,相当于被复制了,还没被粘贴
第3个
.
也代表任意字符,后面的
*
代表
前面的任意字符有0个或多个
\\第1个\代表转译符,\这个符号不能直接出现在表达式里,必须被\转译符后才能变成一个普通的字符\,也就是说第1个\是用来把第2个\变成一个普通字符\
1就是1,没什么好说的
最后1个
.
也是代表任意字符,它后面没跟着
*
,所以代表只有1个任意字符
顺便说下,最短能被匹配的结果
1\11
1随便换成别的任意字符也行

回答2:

*?
是惰性匹配,就是匹配尽可能少的次数。
.*?的意思是匹配任意字符,尽可能少的次数。
比如:abaaaaabb

a.*b去匹配,会匹配到abaaaaabb
全部,应为正则默认贪婪匹配,找到第一个b之后,发现后面还有b,会一直匹配下去。
所以
可以使用贪婪匹配,a.*?b
这样的话,
只会匹配尽可能少的次数
就会匹配到
ab
还有问题hi我。