我如何匹配所有%,除了一个后跟s?

时间:2011-12-15 22:56:57

标签: ruby regex

匹配所有类似百分比的字符的正则表达式是什么,除了s之后的字符?

我想使用%转义所有%%,但我不希望%s成为%%s。在这种情况下,我使用Ruby替换所有出现的%

2 个答案:

答案 0 :(得分:5)

使用%(?!s)并将其替换为%%

(?!...)是一个负面的预测。如果您有s以外的其他字符“取消匹配”,请在构造中调整s

请参阅@ JosephRuby的答案,它实际上给出了ruby代码;)

答案 1 :(得分:5)

如果您使用字符串作为输入

,以下gsub应该可以解决问题
a = a.gsub(/%(?!s)/, '%%')