javascript - Grep 获取图像 URL

标签 javascript regex grep

我想搜索并列出一个(或多个)HTML 页面中的所有图像 URL。使用 Regexr.com,我能够将这个正则表达式放在一起:src=".*(\.png|\.jpg|\.jpeg|\.gif)" 效果很好 regexr.com ,但不在命令行上。当我运行 grep -o 'src=".*(\.png|\.jpg)' index.html 时,上面的正则表达式得到零结果 这是 javascript 正则表达式和 grep 正则的区别吗我不知道的表达方式?

最佳答案

默认情况下,grep 使用较旧、功能较弱的正则表达式引擎。使用 egrep 变体将为您提供与 JavaScript 提供的非常相似的行为。

这个模式对我有用(调整你原来的 grep):

egrep -o 'src=".*(\.png|\.jpg)' index.html

或者(更好),只需使用 -E 标志:

grep -E -o 'src=".*(\.png|\.jpg)' index.html

来自 another answer :

-E switches grep into a special mode so that the expression is evaluated as an ERE (Extended Regular Expression) as opposed to its normal pattern matching

linux.die.net :

-E, --extended-regexp Interpret PATTERN as an extended regular expression (ERE, see below). (-E is specified by POSIX .)

关于javascript - Grep 获取图像 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48633997/

相关文章:

javascript - 单击特定图像时更改 div 的 css

javascript - 没有路线的 Angular 5 可收藏 View 选择

java - 正则表达式查找任何字符串的单词中的最后一个字母

python - 正则表达式和 grep 异常匹配

linux - 仅使用 -r Grep 性能 : using -ri vs.

单击按钮时在浏览器上启用 JavaScript(不是自动)

javascript - 文本长度限制在我的 instafeed 模板中不起作用

c# - 在 C# 中使用 .matches .Concat 进行正则表达式和正确捕获

regex - 正则表达式模式中 () 和 [] 有什么区别?

bash - 在 bash 中使用参数文本文件