Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript正则表达式。替换用法_Javascript_Expression - Fatal编程技术网

JavaScript正则表达式。替换用法

JavaScript正则表达式。替换用法,javascript,expression,Javascript,Expression,我试图使用正则表达式来显示HTML代码中的“所需字符串”,有人能看出我的错误吗 alert("< TD>< B>< B>13COB251< /B> - Desired String< /B>< /TD>".replace(/(<[A-Z]*>)+13COB251(<\/[A-Z]*>)+ - ([a-z]*)(<\/[A-Z]*>)+/gi, "$3")) 警报(“13COB251-所需

我试图使用正则表达式来显示HTML代码中的“所需字符串”,有人能看出我的错误吗

alert("< TD>< B>< B>13COB251< /B> - Desired String< /B>< /TD>".replace(/(<[A-Z]*>)+13COB251(<\/[A-Z]*>)+ - ([a-z]*)(<\/[A-Z]*>)+/gi, "$3"))
警报(“13COB251-所需字符串”。替换(/()+13COB251()+-([a-z]*)()+/gi,$3”))

谢谢

如果通过Regexper输入当前代码,将出现以下错误:

alert("< TD>< B>< B>13COB251< /B> - Desired String< /B>< /TD>".replace(/(<[A-Z]*>)+13COB251(<\/[A-Z]*>)+ - ([a-z]*)(<\/[A-Z]*>)+/gi, "$3"))

在/()+13COB251之后的第1行第22列(字节22)处应为*、+、?、{、(、[、\、$、|、)中的一个(您需要对模式中的
/
字符进行转义,因为这是分隔符

alert("< TD>< B>< B>13COB251< /B> - Desired String< /B>< /TD>".replace(/(<[A-Z]*>)+13COB251(<\/[A-Z]*>)+ - ([a-z]*)(<\/[A-Z]*>)+/gi, "$3"))
然后您需要更多的量词。模式
()+
匹配一个或多个HTML标记,但仅匹配具有单个字符标记名的标记。您还需要
()+
匹配
标记

alert("< TD>< B>< B>13COB251< /B> - Desired String< /B>< /TD>".replace(/(<[A-Z]*>)+13COB251(<\/[A-Z]*>)+ - ([a-z]*)(<\/[A-Z]*>)+/gi, "$3"))
所需字符串的模式还需要一个量词,集合需要匹配更多字符,因为所需字符串不包含小写字符

alert("< TD>< B>< B>13COB251< /B> - Desired String< /B>< /TD>".replace(/(<[A-Z]*>)+13COB251(<\/[A-Z]*>)+ - ([a-z]*)(<\/[A-Z]*>)+/gi, "$3"))
alert("<TD><B><B>13COB251</B> - Desired String</B></TD>".replace(/(<[A-Z]+>)+13COB251(<\/[A-Z]>) - ([A-Za-z ]+)(<\/[A-Z]+>)+/gi, "$3"))
alert(“13COB251-所需字符串”。替换(/()+13COB251()-([A-Za-z]+)()+/gi,“$3”))

演示:

您忘记说明标记和所需字符串中的空格

alert("< TD>< B>< B>13COB251< /B> - Desired String< /B>< /TD>".replace(/(<[A-Z]*>)+13COB251(<\/[A-Z]*>)+ - ([a-z]*)(<\/[A-Z]*>)+/gi, "$3"))
/(< *[A-Z]*>)+13COB251(< *\/[A-Z]*>)+ - ([a-z ]*)(< *\/[A-Z]*>)+/gi
   ^                    ^                    ^     ^
/(<*[A-Z]*>)+13COB251(<*\/[A-Z]*>)+-([A-Z]*)(<*\/[A-Z]*>)+//gi
^                    ^                    ^     ^

wiki格式化程序已经吃掉了“\”这个字。