一个为您的对象内容添加搜索和替换功能的工具
项目描述
slc.quickchange
有关问题和评论请联系info (at) syslab (dot) com
Plone的搜索和替换示例
此包添加了一个视图 @@search-replace,允许用户执行搜索和替换操作。可用选项
递归:如果选中,不仅搜索当前对象,还会搜索所有子对象
对所有语言:不仅搜索当前对象,还会搜索其所有翻译(需要LinguaPlone)
使用正则表达式语法:不执行字面字符串匹配,而是使用Python的正则表达式
忽略大小写:不区分大小写的搜索(仅适用于正则表达式)
点通配:多行搜索(仅适用于正则表达式)
有两个操作
仅搜索:将列出找到的所有匹配文档,不会进行任何修改
替换:执行实际的替换
正则表达式示例
想象一下,您需要更改指向旧域的URL。此外,网站结构已更改,因此您需要重新排列路径元素。
旧链接
http://osha.eu.int/publications/factsheets/de/index.html
对于新链接,我们需要更改域,并将语言文件夹作为第一个元素。
http://osha.europa.eu/de/publications/factsheets/index.html
对于搜索词,我们使用
osha.eu.int/(.*?)/(..)/(.*)
括号中的内容作为变量,按照出现的顺序,如1、2等。
对于替换词,我们使用
osha.europa.eu/\2/\1/\3
这意味着,在域之后,我们取第二个括号(语言文件夹),然后是第一个,最后是第三个。
除了数字外,您还可以使用命名反向引用。当编号反向引用与符号的代码冲突时,这很有意义。假设您想将12,500替换为13,000,并允许其他语言使用“.”作为分隔符。搜索正则表达式
12(\.|,)500
和替换
13\1000
将不会得到预期的结果,因为“\100”被解释为‘@’。命名反向引用可以防止这种情况。搜索模式示例
12(?P<delim>\.|,)500
和相应的替换模式
13\g<delim>000
如果有疑问,请查看正则表达式文档 :-)
要求和安装
此包仅在您安装了LinguaPlone的情况下才工作并有意义。
将“slc.quickchange”添加到您的buildout配置文件中的eggs部分。运行buildout并重新启动您的实例后,转到“网站设置”->“附加产品”,选择slc.quickchange并点击“安装”。
然后,在所有对象的操作下拉菜单中会出现一个名为“搜索和替换”的新条目。
免责声明
请注意,如果您不了解自己在做什么,这个工具可能会给您带来麻烦。除了这个简短的文本和源代码外,没有其他文档...
鸣谢
版权属于欧洲职业安全和健康局和Syslab.com GmbH。
slc.quickchange的开发得到了欧洲职业安全和健康局的资助。
许可证
slc.quickchange根据GNU通用公共许可,版本2或更高版本以及仅版本1.1的欧盟公共许可进行许可。完整的许可文本可以在docs/LICENSE.GPL和docs/LICENSE.EUPL中找到。
变更历史
slc.quickchange 更新日志
2.0.1 (2012-02-05)
保留text_format [thomasw]
2.0 (2012-02-04)
消除旧冗余,使其与Plone 4兼容 [thomasw]
1.3 (2011-08-05)
添加EUPL许可 (deroiste)
slc.quickchange 1.2 (2009-06-17)
第一次更改以使测试工作 (gerken)
slc.quickchange 1.1 (2009-05-12)
打包egg (pilz)
slc.quickchange 1.0 (2008-03-31)
初始端口
贡献者
Alexander Pilz (Syslab.com GmbH)
Wolfgang Thomas (Syslab.com GmbH)