/ / Ruby Split von Regex Teil - Ruby, Regex

Ruby Split von Teil einer Regex - Ruby, Regex

Ich muss einen Argument-Parser schreiben, der übergeben wirdIn einem String ist das Trennzeichen ala {a, b, c} ein Komma mit einem Leerzeichen, aber es kann mit einem Pipe "|" bevor. Also dachte ich darüber nach, eine Regex zu schreiben /[^|], / zu teilen und danach alle Escape-Zeichen zu entfernen. Aber wenn Sie dies verwenden, wird es durch das Zeichen vor dem Begrenzer getrennt.

Wie soll ich das erreichen, wonach ich suche?

Antworten:

3 für die Antwort № 1

Wenn Sie Version 1.9 von Ruby verwenden, können Sie auf teilen /(?<!|),/.

(?<!|) ist eine negative Lookbehind-Assertion, die bedeutet: "Stellen Sie sicher, dass das vorherige Zeichen kein a ist |".