【发布时间】:2021-08-04 11:03:28
【问题描述】:
我正在尝试使用正则表达式提取要下载的 URL,但我无法处理后向和正前向中的引号。
你能解决它吗?
输入:document.getElementsByClassName('mdui-textfield-input')[1].innerHTML
输出:"<video><source src=\"https://drivebutler.drk1.workers.dev/0:/Cartoon%20Collection/Naruto%20Shippuden%20(Complete%20Series%20001-500)%20Naruto%20Shippuuden%20[1080p]%20[HEVC]%20[x265]%20[Batch]%20[pseudo]/Season%2015%20(Episodes%20321-348)/[AnimeRG]%20Naruto%20Shippuden%20-%20338%20[1080p]%20[x265]%20[pseudo].mkv\" type=\"video/mp4\"></video>"
我用来抓取网址的正则表达式,
(?<=src=\\\").*?(?=\\\")
我已经尝试过,
document.getElementsByClassName('mdui-textfield-input')[1].innerHTML.match((?<=src=\\\").*?(?=\\\"))[0]
【问题讨论】:
-
引号不需要转义...是吗?
-
@Bravo 因为我不想记住非字母字符是否需要转义,所以我通常将它们作为原则进行转义,只要我没有得到任何意外行为。
-
你应该使用类似regexr.com的东西来检查你的正则表达式。在 JS 中使用斜杠将正则表达式括起来:
.match(/.*/)。是的,您不需要转义引号。 -
什么是
mdui-textfield-input?输入或文本区域应该有一个.value。不要为此使用.innerHTML。 -
顺便说一句,我很确定您的字符串不包含任何反斜杠。这只是字符串文字的控制台输出(在开头和结尾使用
"作为分隔符)。
标签: javascript regex escaping