Hintergrund
Suchen Perioden mit Dollar-Zeichen im Text zu ersetzen, die durch Dollar-Zeichen begrenzt ist (nie Spanning Linien). Zum Beispiel:regex Muster kombinieren Gruppen in begrenzten Zeichenfolgen übereinstimmen
Names: $annie.bettie.cindy.dannie.ellie$. Only $a$ names. $a.b.c.d.e.f$.
Problem
Die following regex fast funktioniert, aber ist zu einfach:
/([[:alnum:]])\.([[:alnum:]])/g
Wenn ein Spiel außerhalb der Begrenzungszeichen vorhanden ist ($
), dann wird zu viel ersetzt .
Die folgende Regex:
/\$.*?\$/g
Matches and groups die begrenzten Zeichenfolgen:
Namen: annie.bettie.cindy.dannie.ellie $ $. Nur $ a $ Namen. $ a.b.c.d.e.f $.
Frage
Wie kombiniere ich die beiden regulären Ausdrücke so, dass die Perioden kann durch eine andere Zeichenfolge ersetzt werden? Zum Beispiel:
Names: $annie.bettie.cindy.dannie.ellie$. Only $a$ names. $a.b.c.d.e.f$.
Letztlich wird sich:
Names: `r v$annie$bettie$cindy$dannie$ellie`. Only `r v$a` names. `r v$a$b$c$d$e$f`.
Das Problem Ich habe ist, um die begrenzten Punkten übereinstimmen.
Der reguläre Ausdruck wird von einem terminal running bash an peded.
Vielleicht [Dieses SO thread] (http://stackoverflow.com/questions/25241413/pass-the- Matched-value-to-a-function-and-replace-with-the-return-Wert) kann etwas Licht werfen. –
Können Sie Ihre erwartete Ausgabe erklären? problem statement sagte, dass Sie '.' mit '$' innerhalb '$ sometext $' pattern ersetzen müssen. Insbesondere bekomme ich den '' 'rv''' Teil sowie das fehlende' $ 'am Ende des Musters nicht – Sundeep
@Sundeep: Das Ziel ist es, eine Regex zu erstellen, die einfache [Pandoc] (http://pandoc.org/) YAML Variablenreferenzen zu den leistungsfähigeren Inline [knitr] (http://yihui.name/knitr/) konvertiert Ausdrücke. –