Ruby中的正则表达式负面看起来似乎不起作用
制作一个参数解析器。 我想将一个字符串拆分为一个数组,其中分隔符是", "
除了以"|"
开头之外 。 这意味着字符串
"foo, ba|, r, arg"
应该导致
`["foo", "ba|, r", "arg"]`
我正在尝试使用这个正则表达式: (?<!\|),
它在http://regexhero.net/tester/中有效,但是当我尝试
args.split(/(?<!\|), /)
在ruby中,我收到一个错误: undefined (?...) sequence: /(?<!\|), /
Ruby的正则表达式引擎不支持lookbehind(尚未)。
您需要切换到1.9或使用Oniguruma 。
如果这不是一个选项,您可以搜索|,
并用某种标记替换它。 毕竟说完了,把|,
放回去。
你也可以试试像这样的正则表达式:
/(?:[^|]), /
但显然(?:[^|])
不是零宽度,这意味着你之后需要做一些额外的工作。