【发布时间】:2014-11-06 06:34:08
【问题描述】:
是否有 Jekyll 过滤器可以使用正则表达式 (regex) 过滤器替换文本?
我相信“内置”过滤器 replace 可以进行简单的字符串替换。
【问题讨论】:
标签: jekyll liquid jekyll-extensions
是否有 Jekyll 过滤器可以使用正则表达式 (regex) 过滤器替换文本?
我相信“内置”过滤器 replace 可以进行简单的字符串替换。
【问题讨论】:
标签: jekyll liquid jekyll-extensions
如果没有(更好的)解决方案,我将添加一个非常简单的插件来解决问题 - 将其作为文件 regex_filter.rb 放入您的 _plugins/ 文件夹中 - 它需要正则表达式作为字符串,作为第一个参数,替换作为第二个参数(例如,{{ page.url | replace_regex: '/$', '' }}:
module Jekyll
module RegexFilter
def replace_regex(input, reg_str, repl_str)
re = Regexp.new reg_str
# This will be returned
input.gsub re, repl_str
end
end
end
Liquid::Template.register_filter(Jekyll::RegexFilter)
【讨论】:
re = Regexp.new reg_str 更改为 re = Regexp.new reg_str, 4 以匹配多行。
Regexp::MULTILINE == 4
Regexp::MULTILINE ?