跳转到主要内容

一个为您的对象内容添加搜索和替换功能的工具

项目描述

slc.quickchange

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)

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

slc.quickchange-2.0.1.tar.gz (22.0 kB 查看散列)

上传时间 源代码

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面