Chrome 扩展中的 javascript 正则表达式

标签 javascript regex google-chrome

好的,介绍一下背景。我想在我经常使用的页面上修改一些蹩脚的 HTML。我通过我的 content_script“js” 执行此操作,如 chrome 扩展的 manifest.json 文件中所定义。我一直使用的主要方法是这种丑陋的东西:

var str1 = 'something already on the page';
var str2 = 'something already on the page, plus some extra stuff';
document.body.innerHTML = document.body.innerHTML.replace(str,st2);

我主要是尝试重新排序表单对象,并稍微扩展它们以显示更多信息,并过滤/压缩它们以减少多余。如果有人能提供更好的方法来做到这一点,我将不胜感激。

无论如何...这是我的具体问题。

我想从以下内容中检索pistol(或任何字符串):

<form action="map.cgi?use-o" method="post" class="a"><input type="submit" value="pistol" class="m"\></form>

我尝试了以下每种变体:

str.exec(/value="([^]+)" class/);

我要么得到了null,要么得到了我不想要的垃圾字符串。有想法吗?

谢谢!

最佳答案

如果您坚持使用正则表达式,请使用以下一个:

(?:value=")([^"]+)

这里是DEMO

使用 JavaScript,它看起来像:

var value = document.querySelectorAll("input[type=submit]")[0].value;

关于Chrome 扩展中的 javascript 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29596656/

相关文章:

javascript - 如何根据修改后的类和名称属性切换动态创建的 div ?

javascript - Jasmine 测试多个 spy

c# - 我想在 C# 代码中找到所有没有括号的 if 语句。通过正则表达式

rest - 已被 CORS 策略 : Response to preflight request doesn’t pass access control check 阻止

javascript - 如果安装了插件,如何检查 Firefox 和 Chrome

javascript - 在 css 类中禁用控件的不同方法

javascript - 如何避免 redux 中的 immutation

正则表达式 : how to remove string before > and including >

java - 为什么这个正则表达式找不到匹配项?

node.js - 是否可以使用 puppeteer 将 Javascript 对象传递给 nodejs?