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

slc.quickchange的Python项目详细描述


slc.quickchange

Search and Replace for Plone

这个包添加了一个视图@@search replace,允许用户执行搜索 &;替换操作。可用选项:

  • 递归:如果选中,则不仅搜索当前对象,还搜索所有子对象
  • 对于所有语言:不仅搜索当前对象,还搜索它的所有翻译 (需要语言)
  • 使用正则表达式语法:不执行文本字符串匹配,但使用python的regex
  • 忽略大小写:不区分大小写的搜索(仅适用于正则表达式)
  • dotall:搜索多行(仅用于正则表达式)

有两个动作:

  • 仅搜索:将列出找到的所有匹配文档,不做任何修改
  • 更换:进行实际更换

Examples for regex

假设您必须更改指向旧域的url。另外,网站 结构已更改,因此需要重新排列路径元素的顺序。

旧链接:

http://osha.eu.int/publications/factsheets/de/index.html

对于新链接,我们需要更改域,并将language文件夹作为第一个元素:

http://osha.europa.eu/de/publications/factsheets/index.html

对于搜索词,我们使用:

osha.eu.int/(.*?)/(..)/(.*)

括号中的内容按其外观顺序作为变量提供,如1、2等。

对于替换术语,我们使用:

osha.europa.eu/\2/\1/\3

这意味着,作为域之后的第一个元素,我们使用第二个括号(语言文件夹)。 然后是第一个,最后是第三个。

也可以使用命名的反向引用,而不是数字。当一个数字 反向引用与符号的代码冲突。假设您要替换12500号 并允许其他语言使用“.”作为分隔符。这个 搜索正则表达式:

12(\.|,)500

并替换:

13\1000

不会产生所需的结果,因为“\100”被解释为“@”。命名回溯 防止这种情况。搜索模式示例:

12(?P<delim>\.|,)500

以及相应的替换模式:

13\g<delim>000

如果有疑问,请查看regex文档:-)

Requirements and Installation

此软件包仅在安装了LinguapOne时才有效。

将“slc.quickchange”添加到构建的eggs部分 配置。运行buildout并重新启动实例后,转到 站点设置->;加载项产品,选择slc.quickchange并单击“安装”。

一个名为“搜索并替换”的新条目将出现在“操作”下拉列表中 所有对象的菜单。

Disclaimer

当心,如果你不知道自己在做什么,你可以用这个工具搞砸。没有 除了这个小文本和源代码之外的文档…

Credits

欧洲工作健康与安全局和Syslab.com版权所有 股份有限公司

quickchange开发由欧洲 工作中的健康和安全。

License

slc.quickchange是根据gnu lesser generic public授权的 许可证,版本2或更高版本,仅限EUPL版本1.1。完整的 许可文本可以在docs/license.gpl和docs/license.eupl中找到。

Change history

slc.quickchange更改日志

2.0.1 (2012-02-05)

  • 保留文本格式[Thomasw]

2.0 (2012-02-04)

  • 消除了旧的积垢,使它与PLONE 4一起工作[托马斯]

1.3 (2011-08-05)

  • 添加了EUPL许可证(Deroiste)

slc.quickchange 1.2 (2009-06-17)

  • 使测试工作的第一个更改(gerken)

slc.quickchange 1.1 (2009-05-12)

  • 包装鸡蛋(pilz)

Contributors

  • Alexander Pilz(Syslab.com股份有限公司)
  • Wolfgang Thomas(Syslab.com股份有限公司)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java访问私有字段而不使用getter方法?   使用PowerMockito在JavaEWSAPI中模拟测试拉订阅   启动活动时未保存java首选项并清除变量   java如何在servlet中检索子域?斯普林有帮手吗   java使用Docker从命令行构建Android项目   java Android,ActionBar后退按钮(setDisplayHomeAsUpEnabled(true))重新创建父活动   java在重用FileOutputStream时应该关闭流吗?   java使用RESTAPI将文件上载到s3 bucket   Java SOAP Web服务应用程序中的mysql用户登录方法不工作   java使用多个数字计算百分比并转换为长   java Android SQLiteDatabase查询忽略空格   java如何在Javafx中比较两个字段文本   java错误:未设置java_HOME,在Eclipse安装后找不到   java在安卓中保存对象   java如何使用jaxws从返回List<Object>的服务中检索值   java Google OAuth2 JWT令牌验证异常   SpringMVC中的JavaUTF8编码问题,当从JSP表单发送POST请求中的越南语信件时   java从webview重定向到安卓应用程序   JUnit 5中多个扩展的java顺序