javascript - 如何在javascript中使用正则表达式来匹配带双引号的字符串

标签 javascript regex string

我对正则表达式非常陌生,我不确定如何使用正则表达式从非常大的字符串中提取一段测试。

假设字符串是这样的: 仅供引用:该字符串将动态生成,从数据库和 dom 中提取不同的元素。我对它的创建方式没有太多控制。

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptas architecto dicta amet cumque, atque, labore eos nobis earum fuga tempore officiis excepturi rerum placeat. Perferendis, earum officiis veniam dicta eius aliquid, similique porro quam necessitatibus nobis velit debitis. <span itemprop="itemNum">56789</span> labore eos nobis earum fuga tempore officiis excepturi rerum placeat. Perferendis, earum officiis veniam dicta eius aliquid, similique porro quam necessitatibus nobis velit debitis.

我需要获取包含 itemprop 标记为 itemNum 的 span 内的文本。

我尝试过这个,但它对我不起作用:

/\b(itemprop=\"sku\"")\b/g

最终我的变量中只有 56789。

提前谢谢大家。

最佳答案

如果您不一定必须使用正则表达式,则达到获取值目标的一种方法是使用 DOMParser 首先解析字符串,然后使用例如 querySelect:

const str = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptas architecto dicta amet cumque, atque, labore eos nobis earum fuga tempore officiis excepturi rerum placeat. Perferendis, earum officiis veniam dicta eius aliquid, similique porro quam necessitatibus nobis velit debitis. <span itemprop="itemNum">56789</span> labore eos nobis earum fuga tempore officiis excepturi rerum placeat. Perferendis, earum officiis veniam dicta eius aliquid, similique porro quam necessitatibus nobis velit debitis.';

const parser = new DOMParser();
const doc = parser.parseFromString(str, "text/html");
console.log(doc.querySelector('span[itemprop="itemNum"]').innerHTML)

关于javascript - 如何在javascript中使用正则表达式来匹配带双引号的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54380774/

相关文章:

javascript - 通过引用从一个数组推送到另一个数组

regex - nginx URL 重写使用负正则表达式?

xml - 如何使用linux csplit 分割海量XML文件?

c++ - C++中的字符串分配 : why does this work?

javascript - 如何使用 CSS 创建一个三 Angular 形 div,它在单击时会消失,但在单击 'overflow' 部分时不会消失?

javascript - 如何选择所有没有类或id的元素?

C 将字符串转换为整数问题

python - 如何将此字符串列表转换为整数

javascript - 如何使用 Cloud Functions 从实时数据库中读取值?

用于查找单词和引号的正则表达式