正则表达式: (?<=<(\w+)>).*(?=<\/\1>)的具体含义?

谁可以详细解释?

前面是<、字母、数字、下划线、>
中间是0个或多个任意字符
后面是</对称前面的>
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-08-09
以“<(\w+)>”开头,并以“<\/\1>”结尾,中间是任意的字符
不过你的表达式应该是:
(?<=<(\w+)>).*?(?=<\/\1>)
第2个回答  2018-06-14
(?<=<(\w+)>)指定了这样的前缀:被尖括号括起来的单词(比如可能是<b>),然后是.*(任意的字符串),最后是一个后缀(?=<\/\1>)。注意后缀里的\/,它用到了前面提过的字符转义;\1则是一个反向引用,引用的正是捕获的第一组,前面的(\w+)匹配的内容,这样如果前缀实际上是<b>的话,后缀就是</b>了。
整个表达式匹配的是<b>和</b>之间的内容(再次提醒,不包括前缀和后缀本身)。
相似回答