使用bbedit中的regex / GREP返回字符串中未知的字符串数

时间:2015-12-16 00:37:20

标签: regex grep bbedit

因此,我基本上以sql update语句的形式拥有数千行wp_post表。我想从每一行中提取所有图像标记,同时将它们保持在同一行(比仅提取更难一步),同时保留该行中唯一的其他变量,始终在最后。我可以从文件中复制图像标签,但每行只留下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

返回我想要的第二个例子,但它不会返回第一个或第三个例子中的两个或全部三个图像标签......

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

1 个答案:

答案 0 :(得分:1)

你可以使用它。

查找(<img.*?>)|(http:.+\b)|(.)

替换 \1\2

点击全部替换