帮忙解析一下这个正则表达式
((?<=\d)\d{3})+\b,用它对1234567890进行查找时结果是234567890((?<=\d)\d{3})+结果是234567890((?<=\d)\d...
((?<=\d)\d{3})+\b,用它对1234567890进行查找时结果是234567890
((?<=\d)\d{3})+结果是
234567890
((?<=\d)\d{3})结果是
234
567
890
麻烦讲的详细一些 展开
((?<=\d)\d{3})+结果是
234567890
((?<=\d)\d{3})结果是
234
567
890
麻烦讲的详细一些 展开
1个回答
展开全部
(?<=\d) 匹配左侧是数字的位置(注意,匹配的是位置)
(?<=\d)\d 匹配一个数字,它的左边是一个数字。
(?<=\d)\d{3} 匹配三个数字,它们的左边是一个数字(即第一个数字的左边是数字,然后再来俩数字)
((?<=\d)\d{3})+ 匹配三个数字,它们的左边是一个数字。这种情况至少出现一次。
1 左侧不是数字
234 第一次匹配((?<=\d)\d{3})
567 第二次
890 第三次
(?<=\d)\d 匹配一个数字,它的左边是一个数字。
(?<=\d)\d{3} 匹配三个数字,它们的左边是一个数字(即第一个数字的左边是数字,然后再来俩数字)
((?<=\d)\d{3})+ 匹配三个数字,它们的左边是一个数字。这种情况至少出现一次。
1 左侧不是数字
234 第一次匹配((?<=\d)\d{3})
567 第二次
890 第三次
追问
(?<=\bre)\w+\b会匹配以re开头的单词的后半部分(除了re以外的部分),例如在查找reading a book时,它匹配ading。断言应该是你上面说的不消耗字符的,但是为什么这里输出不是reading呢,re去哪了。
追答
(?<=\bre)\w 匹配一个左边是\bre的字母。。。
自然是从a开始啊,r的左边不是\bre
这正是环视只匹配位置不匹配字符(就是你说的不消耗字符)的效果啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询