正则表达式:(\w)((?=\1\1\1)(\1))+

如题所述

第1个回答  2019-12-07
比如字符串
aaaa
正则表达式:(\w)((?=\1\1\1)(\1))+
首先匹配的位置是第一个a,开始正则匹配,先是
(\w)匹配
第一个a成功,那么第一个子匹配的值就是a
,即
\1
的值为
a,现在匹配的位置是第二个a,继续往下匹配正则,
然后是
((?=\1\1\1)(\1))+
这一个整体,首先是
(?=\1\1\1),预测上面第一个匹配的a
后面要有
3个
a,预测成功,继续往下面执行正则(注意,现在的匹配的位置还是第二个a,预测不会改变匹配的位置),然后是
(\1),
\1
的值为
a,所以第2个a匹配成功,现在的匹配的位置是第三个a,本次((?=\1\1\1)(\1))正则表达式匹配完成,由于是
+,要匹配((?=\1\1\1)(\1))一次以上,所以又开始执行(?=\1\1\1)正则,现在要预测上一次正则匹配成功的字符a后面要有3个a(也就是第二个a后面要有3个a),所有本次预测失败,不会进行匹配,那么结果为aa,

正则表达式(\\w)((?=\\1\\1\\1)(\\1))+到底怎么理解...
(\\w)表示匹配并捕获一个单词字符,将匹配内容作为第一个捕获组 (?=\\1\\1\\1)这是一个零宽断言+反向引用,表示之后应该紧接着连续出现三次第一个捕获组匹配到的字符串,但这三次匹配不占位置,不会吃掉匹配到的字符,所以叫零宽 (\\1)反向引用,表示接下来应该匹配到第一个捕获组中的内容 最后(?...

正则表达式:(\\w)((?=\\1\\1\\1)(\\1))+
正则表达式:(\\w)((?=\\1\\1\\1)(\\1))+ 首先匹配的位置是第一个a,开始正则匹配,先是 (\\w)匹配 第一个a成功,那么第一个子匹配的值就是a ,即 \\1 的值为 a,现在匹配的位置是第二个a,继续往下匹配正则,然后是 ((?=\\1\\1\\1)(\\1))+ 这一个整体,首先是 (?=\\1\\1\\1),预测...

正则表达式:(\\w)((?=\\1\\1\\1)(\\1))+
正则表达式:(\\w)((?=\\1\\1\\1)(\\1))+ 首先匹配的位置是第一个a,开始正则匹配,先是 (\\w)匹配 第一个a成功,那么第一个子匹配的值就是a ,即 \\1 的值为 a,现在匹配的位置是第二个a,继续往下匹配正则,然后是 ((?=\\1\\1\\1)(\\1))+ 这一个整体,首先是 (?=\\1\\1\\1),预测...

ss.replaceAll("[\\\\d]+", ""); 这里"[\\\\d]+"是什么意思
表达式重复n次,比如:"\\w{2}" 相当于 "\\w\\w";"a{5}" 相当于 "aaaaa" {m,n} 表达式至少重复m次,最多重复n次,比如:"ba{1,3}"可以匹配 "ba"或"baa"或"baaa" {m,} 表达式至少重复m次,比如:"\\w\\d{2,}"可以匹配 "a12","_456","M12344"... ? 匹配表达式0次或者1次,相当于 {0,1},...

javascript中的正则表达式有什么规范
1. 正则表达式规则1.1 普通字符 字母、数字、汉字、下划线、以及后边章节中没有特殊定义的标点符号,都是"普通字符"。表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符。 举例1:表达式 "c",在匹配字符串 "abcde" 时,匹配结果是:成功;匹配到的内容是:"c";匹配到的位置是:开始于2,结束于3...

匹配文章章节+标题的正则表达式(例如:第一章 XXX 第 1 章 XXX [1...
第一章 (\\w)+ 第 1 章 (\\w)+

正则表达式: (?<=<(\\w+)>).*(?=<\\\/\\1>)的具体含义?
前面是<、字母、数字、下划线、> 中间是0个或多个任意字符 后面是<\/对称前面的>

正则表达式是什么?该怎么用?
正则表达式应用——实例应用 验证用户名和密码:("^[a-zA-Z]\\w{5,15}$")正确格式:"[A-Z][a-z]_[0-9]"组成,并且第一个字必须为字母6~16位;2.验证电话号码:("^(\\d{3,4}-)\\d{7,8}$")正确格式:xxx\/xxxx-xxxxxxx\/xxxxxxxx;3.验证手机号码:"^1[3|4|5|7|8][0-9]...

密码正则表达式
其中 [\\s\\S] 中的\\s空白符,\\S非空白符,所以[\\s\\S]是任意字符。也可以用 [\\d\\D]、[\\w\\W]来表示。2、至少8个字符,至少1个大写字母,1个小写字母和1个数字,不能包含特殊字符(非数字字母):^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,} 3、至少8个字符,至少1个字母,1...

该正则表达式,用于过滤掉什么内容呢?:"\\\\([^()]*\\\\)"; (PHP)
匹配中文字符的正则表达式:[\一-\龥]匹配双字节字符(包括汉字在内):[^\\x00-\\xff]匹配空白行的正则表达式:\\n\\s*\\r 匹配HTML标记的正则表达式:<(\\S*?)[^>]*>.*?<\/\\1>|<.*? \/> 匹配首尾空白字符的正则表达式:^\\s*|\\s 匹配Email地址的正则表达式:\\w+([-+.]\\w+)*@\\w...

相似回答