首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BBEdit中的grep帮助

BBEdit中的grep帮助
EN

Stack Overflow用户
提问于 2009-09-22 00:13:32
回答 5查看 2.6K关注 0票数 1

我想在BBedit中重写以下内容。

查找:

代码语言:javascript
复制
<dc:subject>Knowledge, Mashups, Politics, Reviews, Ratings, Ranking, Statistics</dc:subject>

替换为:

代码语言:javascript
复制
<dc:subject>Knowledge</dc:subject>
<dc:subject>Mashups</dc:subject>
<dc:subject>Politics</dc:subject>
<dc:subject>Reviews</dc:subject>
<dc:subject>Ratings</dc:subject>
<dc:subject>Ranking</dc:subject>
<dc:subject>Statistics</dc:subject>

查找:

代码语言:javascript
复制
<dc:subject>Social web, Email, Twitter</dc:subject>

替换为:

代码语言:javascript
复制
<dc:subject>Social web</dc:subject>
<dc:subject>Email</dc:subject>
<dc:subject>Twitter</dc:subject>

基本上,当有多个类别时,我需要找到逗号和空格,添加换行符,并将打开/关闭括在类别周围。

有什么想法吗?

EN

回答 5

Stack Overflow用户

发布于 2011-05-13 01:25:36

哇。这里有很多复杂的答案。find怎么样:

代码语言:javascript
复制
, 

(逗号后面有一个空格)

并替换为:

代码语言:javascript
复制
</dc:subject>\r<dc:subject>
票数 4
EN

Stack Overflow用户

发布于 2009-09-22 00:34:30

查找:

代码语言:javascript
复制
(.+?),\s?

替换:

代码语言:javascript
复制
\1\r

替换:

代码语言:javascript
复制
<a href="http://example.com/">\1</a>\r

会给你带来

代码语言:javascript
复制
<a href="http://example.com/">Social web</a>
<a href="http://example.com/">Email</a>
<a href="http://example.com/">Twitter</a>

或者使用Replace来获得更好的体验:

代码语言:javascript
复制
<a href="http://example.com/tag/\1/">\1</a>\r

会给你带来

代码语言:javascript
复制
<a href="http://example.com/tag/Social web/">Social web</a>
<a href="http://example.com/tag/Email/">Email</a>
<a href="http://example.com/tag/Twitter/">Twitter</a>

在最后一个示例中,您可能会遇到“Social web”URL中包含空格的问题。我不建议这样做,但我想向您展示,您可以多次使用反向引用。

BBEdit手册中的Grep参考非常棒。转到帮助->用户手册,然后转到第八章。学习如何很好地使用RegEx将改变你的生活。

更新很奇怪,当我第一次看这个的时候,它并没有给我展示你的全部例子。根据我现在看到的,你应该

查找:

代码语言:javascript
复制
(.+?),\s?

替换:

代码语言:javascript
复制
<dc:subject>\1</dc:subject>\r
票数 1
EN

Stack Overflow用户

发布于 2009-09-22 18:14:15

我不使用BBEdit,但在Vim中您可以这样做:

主题",\t*",“/\=substitute(submatch(0),>\r”,"g")/g

它将处理多行和多个标记,这些行和标记通过换行符跨越内容。它也可以处理具有多个行的行,但不会总是获得结束和开始标记之间的换行。

如果您将这篇文章发布到google group vim_use,并要求一个Vim解决方案和相应的perl版本,您可能会得到一堆建议和一些在BBEdit中工作的建议,然后也可以在perl中的任何编辑器之外工作。

完成

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1457537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档