Das RegexMuster funktioniert, wenn ich es in regexr.com versuchekönnen nicht Zeichenfolge in Anführungszeichen markieren Regex in Ruby mit
pattern = %r{(["'])(?:\\\1|[^\1])*?\1}
string = %Q(var msg = 'hello' + 'world')
string.gsub(pattern, '<span>\1</span>')
ich die Ausgabe erwarten zu sein:
"var msg = <span>'hello'</span> + <span>'world'</span>"
Aber anstatt ich bin bekommen:
# => "var msg = <span>'</span> + <span>'</span>"
Wäre es nicht 'regex =/([" ']) geschrieben (siehe: \\ \ 1 | [^ \ 1]) *? \ 1/',' string = "var msg = 'hallo' + 'welt'" '? –
Huch, du hast nur die einzige Antwort gewählt, die bisher angeboten wurde 20 Minuten, nachdem Sie gepostet haben, können Quick-Draw-Optionen andere, möglicherweise bessere Antworten abschrecken und die noch vorhandenen kurzschließen pairing Antworten. Viele warten hier mindestens ein paar Stunden, bevor sie eine Auswahl treffen. Der Punkt ist, dass es keine Eile gibt, eine Auswahl zu treffen. –
@CarySwoveland Es kann einfacher sein, aber das wird nicht allein lösen das Problem von OP – rock321987