【发布时间】:2017-01-15 23:29:46
【问题描述】:
我正在尝试找到一个与 TextWrangler 一起使用的好的正则表达式,以将任务描述解析为 Rememberthemilk.com 格式:这样一行:
Example task section 1 section tomorrow section tagone tagtwo tagthree tagfour
谁转换成RTM格式:
Example task !1 ^tomorrow #tagone #tagtwo #tagthree #tagfour
现在这让我想到一个问题,如何在反向引用中使用正确的语法来捕获无限重复的模式?
我一直在尝试这个正则表达式:
^([\w ]+) section (\d) section (\w+) section ((\w+) )+$
这似乎捕获了输入文本的格式,但我只是不知道如何在反向引用中进行转换?
\1 !\2 ^\3 #(???)
我如何做到这一点?
【问题讨论】:
-
替换字符串中的每个字符只使用一次。没有办法为最后一组的每场比赛重复“#”。如果总是有相同数量的标签,您可以单独匹配它们,但我假设情况并非如此。
-
我不认为你可以通过替换和反向引用来实现这一点。使用更成熟的编程语言执行此操作可能会让您这样做(例如,C# 能够访问特定组的所有捕获)。示例:gist.github.com/Porges/…
标签: regex textwrangler find-replace