【问题标题】:Return Unknown number of strings within a string using regex/GREP in bbedit在 bbedit 中使用 regex/GREP 返回字符串中未知数量的字符串
【发布时间】:2015-12-18 06:59:48
【问题描述】:

所以,我基本上有数千行以 sql 更新语句形式存在的 wp_post 表。我想从每一行中提取所有图像标签,同时将它们保持在同一行(比仅提取困难 1 步),同时保留该行中唯一的其他变量,该变量始终位于末尾。我可以从文件中正则表达式图像标签,但这让我每行只有 1 个标签。如何从每行中提取多个(数量未知,并且会有所不同)图像标签,同时保留正确的行号?

例子:

Insert into `table` (post_content, guid) values ('<img src="blah">alkajsdljasdmorecontent<img src="blaaaa">','http://foo.com');
Insert into `table` (post_content, guid) values ('<img src="blah">alkajsdljasdmorecontent','http://foo.com');
Insert into `table` (post_content, guid) values ('<img src="blah">alkajsdljasdmorecontent<img src="blaaaa"><img src="blaaaa">','http://foo.com');

我想退货:

<img src="blah"><img src="blaaaa"> http://foo.com
<img src="blah"> http://foo.com
<img src="blah"><img src="blaaaa"><img src="blaaaa"> http://foo.com

我通常可以运行类似的东西

<img.*?>

提取所有图像标签,但我希望图像标签保留在它们来自的行上,并保留每行的结束值(guid)。

我可以使用类似的东西

.*(<img.*?>).*'.'(http://.*?)'\);\r

返回我想要的第二个示例,但它不会在第一个或第三个示例中返回两个或所有三个图像标签...

有什么想法吗?或者你明白我的意思吗?

【问题讨论】:

  • 所以你想保留第一个参数中的所有标签,然后打印第二个。我不明白的是为什么你在预期的输出中打印&lt;img src="blah"&gt; 而不是&lt;img src="blaaaa"&gt;
  • @fedorqui,这是我没有保持一致的错误。看看下面的答案,这就是我想要做的。

标签: regex grep bbedit


【解决方案1】:

你可以用这个。

查找(&lt;img.*?&gt;)|(http:.+\b)|(.)

替换 \1\2

点击全部替换

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-19
  • 2015-09-18
  • 1970-01-01
相关资源
最近更新 更多