Ruby 如何使用正则表达式在每个字母前加上符号

Ruby 如何使用正则表达式在每个字母前加上符号,ruby,regex,Ruby,Regex,我有这样的字符串时间格式:d-m-Y H:I。我想这样格式化它:%d-%m-%Y%H:%I 如何使用正则表达式在每个字母前面加上% sorted 'd-m-Y H:i'.gsub(/[a-zA-Z]+/) { |sym| "%#{sym}" } str = "d-m-Y H:i" str.gsub(/[a-z]/i, '%\0') # => "%d-%m-%Y %H:%i" 在替换字符串'%\0'中,\0表示整个匹配,在本例中是匹配的字母,因此这表示,“将每个字母替换为一个%,后跟字母

我有这样的字符串时间格式:
d-m-Y H:I
。我想这样格式化它:
%d-%m-%Y%H:%I


如何使用正则表达式在每个字母前面加上
%

sorted 'd-m-Y H:i'.gsub(/[a-zA-Z]+/) { |sym| "%#{sym}" }
str = "d-m-Y H:i"
str.gsub(/[a-z]/i, '%\0')
# => "%d-%m-%Y %H:%i"

在替换字符串
'%\0'
中,
\0
表示整个匹配,在本例中是匹配的字母,因此这表示,“将每个字母替换为一个
%
,后跟字母。”

这是使用
字符串#gsub
的基本方法:

str = "d-m-Y H:i"
str.gsub(/[a-z]/i, '%\0')
# => "%d-%m-%Y %H:%i"
在替换字符串
'%\0'
中,
\0
表示整个匹配项,在本例中是匹配的字母,因此表示“将每个字母替换为一个
%
,后跟字母。”

这是这样的:“用字符“%”替换每个后跟小写或大写字母的空字符串。”<代码>(?=[a-z])是一种积极的前瞻性


这是这样的:“用字符“%”替换每个后跟小写或大写字母的空字符串。”<代码>(?=[a-z])是一个积极的前瞻。

我不知道
\0
。很高兴知道。我翻遍了医生们寻找,但结果却是空的。你知道记录在哪里吗?(例如,我确实在别处找到了它的参考资料。)@CarySwoveland-Huh。它似乎没有被记录下来。我不知道我是怎么发现的。我不知道
\0
。很高兴知道。我翻遍了医生们寻找,但结果却是空的。你知道记录在哪里吗?(例如,我确实在别处找到了它的参考资料。)@CarySwoveland-Huh。它似乎没有被记录下来。我不确定我是如何发现的。虽然这段代码可能会回答这个问题,但提供关于为什么和/或如何回答这个问题的额外上下文将显著提高其长期价值。请在您的答案中添加一些解释。尽管此代码可能会回答此问题,但提供有关为什么和/或如何回答此问题的其他上下文将显著提高其长期价值。请在您的回答中添加一些解释。