老师 不明白

来源:4-4 匹配HTML标签

anan_123

2019-12-27 15:06:59

/<(?:[^"'>]|(["'])[^"']*\1)*>/g;
老师 为什么[^"']是匹配的“ ”或者‘‘之间的内容   
[^"'>]又是匹配的“ ”或者’‘或者>之外的内容呢


写回答

2回答

好帮手慕慕子

2019-12-27

同学你好, 对于你的问题解答如下:

  1. ["']表示匹配一个双引号或者单引号

  2. [^"']表示匹配单引号和双引号之外的内容,即匹配非双引号或者单引号的内容,这样就可以匹配单引号或者双引号里面的内容

  3. *的意思是匹配前面的子表达式零次或多次, 等价于{0,}。

  4. \1是引用第一个分组,即前面用小括号包裹的内容。所以后面又匹配一个双引号或者单引号。

(["'])[^"']*\1就是匹配了一对双引号或者单引号以及它里面的内容。

这块确实比较绕,建议同学多听几遍,多动手练习。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

好帮手慕慕子

2019-12-27

同学你好, 这个是js语法规定的规定的,我们需要记住用法。

 ["']表示匹配"或者'字符。

添加符号^后, [^"'>]表示取反,也就说匹配"、'及>之外的任意一个字符。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0
hnan_123
h 那为什么[^"']匹配的是’或者“之间的字符呢? 按你的说法 ,不是应该是’或者“之外的任意字符吗
h019-12-27
共1条回复

0 学习 · 14456 问题

查看课程