首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ploneformgen和正则表达式

Ploneformgen和正则表达式
EN

Stack Overflow用户
提问于 2013-02-05 13:46:19
回答 3查看 444关注 0票数 1

我想以ploneformgen 1.7创建的形式使用正则表达式。我用的是plone 4.1。在文本字段的自定义验证中。

如何使用正则表达式?

我尝试了以下几种方法:

代码语言:javascript
复制
python: import re; test(value==re.search(r'[123]'), False, 'Needs to be number 1 or 2 or 3')

但它给了我错误,因此无法验证。我希望值应该是1、2或3。

代码语言:javascript
复制
python: test(value=='1' or value=='2' or value=='3', False, 'Needs to be number 1 or 2 or 3')

但是我想使用正则表达式。请指点一下。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-06 00:20:56

您可以在通过web脚本、TALES " Python :“表达式、PFG覆盖和PFG脚本适配器中使用的包和类型集仅限于在受限Python中可用的包和类型。受限Python故意在提供哪些模块和类型方面非常保守。

您可以通过在您的鸡蛋列表中包含的Python包中显式地声明"allow“来扩展该列表。这样的包的一个示例是available in the github collective,它包含几个我发现在PloneFormGen中特别有用的模块和类型,包括re。

您仍然不能在TALES表达式中“导入re”,但可以在TTW脚本中使用re,该脚本可以用作PFG验证器。

票数 4
EN

Stack Overflow用户

发布于 2013-02-05 14:03:30

根据http://docs.zope.org/zope2/zope2book/ScriptingZope.html,您不能在故事中使用正则表达式,因为受限的Python禁止使用正则表达式。

票数 3
EN

Stack Overflow用户

发布于 2013-02-05 13:59:43

实际上,search方法需要两个参数。

您应该这样使用:import re; test(re.search(r'[123]', value), False, 'Needs to be number 1 or 2 or 3')

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14700955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档