Ich versuche, eine gute regex zu finden, mit TextWrangler zu verwenden Aufgabenbeschreibungen in ein Rememberthemilk.com Format zu analysieren: so dass eine Zeile wie:RegEx Erfassen von sich unendlich wiederholenden Mustern mit spezifischen Rückreferenzen?
Example task section 1 section tomorrow section tagone tagtwo tagthree tagfour
whould das RTM-Format konvertieren in:
Example task !1 ^tomorrow #tagone #tagtwo #tagthree #tagfour
Das bringt mich in die Frage, wie man ein sich unendlich wiederholendes Muster mit der richtigen Syntax in den Rückreferenzen erfasst?
Ich habe diese regex versucht:
^([\w ]+) section (\d) section (\w+) section ((\w+))+$
, die das Format des eingegebenen Textes zu erfassen scheint, aber ich weiß einfach nicht, wie die Umwandlung in den Rückreferenzierungen zu machen?
\1 !\2 ^\3 #(???)
Wie erreiche ich das?
Jedes Zeichen im Ersetzungsstring wird genau einmal verwendet. Es gibt keine Möglichkeit, das "#" für jedes Spiel der letzten Gruppe zu wiederholen. Wenn es immer die gleiche Anzahl von Tags gäbe, könnten Sie sie individuell anpassen, aber ich nehme an, dass das nicht der Fall ist. – jasonharper
Ich glaube nicht, dass Sie dies nur mit Ersatz und Rückreferenzen erreichen können. Wenn Sie dies in einer vollständigeren Programmiersprache tun, können Sie dies tun (z. B. kann C# auf alle Captures für eine bestimmte Gruppe zugreifen). Beispiel: https://gist.github.com/Porges/9ba3b7f94f2c14e20feb16c984406e5a#file-example-cs – porges