Ruby Split частью регулярного выражения - PullRequest
2 голосов
/ 26 июля 2010

Я должен написать синтаксический анализатор аргументов, он передается в виде строки ala {a, b, c} разделитель - запятая с пробелом после него, но его можно экранировать с помощью канала "|"перед этим.Поэтому я подумал написать регулярное выражение типа /[^\|], /, чтобы разделить его, а затем удалить все escape-символы.Но при использовании этого он также будет разделен на символ перед разделителем.

Как мне выполнить то, что я ищу?

1 Ответ

3 голосов
/ 26 июля 2010

Если вы используете Ruby версии 1.9, вы можете разделить на /(?<!\|),/.

(?<!\|) является отрицательным взглядом за утверждением, означающим «убедитесь, что предыдущий символ не является |».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...