Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何匹配除后跟s的%之外的所有%?_Ruby_Regex - Fatal编程技术网

Ruby 如何匹配除后跟s的%之外的所有%?

Ruby 如何匹配除后跟s的%之外的所有%?,ruby,regex,Ruby,Regex,除了后跟s的字符外,用于匹配所有类似百分比字符的正则表达式是什么 我想用%%转义所有%%,但我不想%s变成%s。在这种情况下,我使用Ruby替换所有出现的%。使用%(?!s)并将其替换为% (?!…)是一个消极的前瞻。如果您有s以外的其他字符,请将构造中的s改编为“unmatch” 看看@JosephRuby的答案,它实际上给出了ruby代码;) 使用%(?!s)并将其替换为%% (?!…)是一个消极的前瞻。如果您有s以外的其他字符,请将构造中的s改编为“unmatch” 看看@JosephRu

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

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

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

(?!…)
是一个消极的前瞻。如果您有
s
以外的其他字符,请将构造中的
s
改编为“unmatch”

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

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

(?!…)
是一个消极的前瞻。如果您有
s
以外的其他字符,请将构造中的
s
改编为“unmatch”


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

如果您使用字符串作为输入,下面的gsub应该可以实现这一点

a = a.gsub(/%(?!s)/, '%%')

如果您使用字符串作为输入,那么下面的gsub应该可以做到这一点

a = a.gsub(/%(?!s)/, '%%')

+1.虽然如果我理解OP,它应该是
%(?!s)
+1。虽然如果我理解OP,它应该是
%(?!s)