我正在学习正则表达式,我想在Python中使用正则表达式仅定义整数-整数,而不定义小数。
我可以使用来制作一个仅允许数字使用的数字\d
,但也可以使用十进制数字,这是我不想要的:
price = TextField(_('Price'), [
validators.Regexp('\d', message=_('This is not an integer number, please see the example and try again')),
validators.Optional()])
如何更改代码以 仅 允许整数?
正则表达式基于字符进行工作,\d
表示单个数字0
…9
而不是十进制数字。
例如,仅匹配带符号整数的正则表达式可能是
^[-+]?[0-9]+$
含义
^
-字符串开始[-+]?
-可选的(这是什么?
意思)减号或加号[0-9]+
-一个或多个数字(加号表示“一个或多个”,[0-9]
是另一种表示方式\d
)$
-字符串结尾注:具有数字的符号被认为部分是确定只有当你需要解析 只是数量
。对于处理表达式的更一般的解析器,最好不要使用数字符号:3-2
否则,像这样的源流最终可能会被解析为两个整数的序列,而不是一个整数,一个运算符和另一个整数。我的经验是,通过一元否定运算符在较高级别上的不断折叠,可以更好地处理负数。
问题内容: 我有这种模式: 这对于正数很好用,但是我也需要它做负数,例如“ T-1T3T44”应该工作。或者也许使用空格而不是’T’,所以它应适用于这样的字符串:“-1 2 3 2 -1 6 2”。抱歉,我以前没有真正使用过正则表达式。有什么建议吗?谢谢。 问题答案: 您是否想过尝试: 您会注意到我也将(零个或多个)更改为(一个或多个),因为从技术上讲,这不是数字:-)
问题内容: 我问这个问题有点傻,但是从我读过的所有内容来看,这应该有效,但对我而言却无效。我只是想使用正则表达式匹配字符串中的整个单词。 因此,如果我试图在句子中找到单词“ the”,则对于“褐狐快速越过懒狗”应该返回true,而对于“褐狐快速越过懒狗”则返回false。 。 我已经试过了: 我也尝试过: 我也尝试过此正则表达式:“ \ bthe \ b” 而且它们总是返回false。我觉得我在这
我有一个带两个可能输出的字符串,它将被<代码>
问题内容: 假设我想要一个正则表达式,使其与“从iPhone发送”和“从iPod发送”都匹配。我该如何写这样的表达? 我尝试过类似的事情: 但似乎不起作用。 问题答案:
问题内容: 我试图在Python 2.7.2中使用正则表达式从字符串中提取所有出现的带标记单词。或者简单地说,我想提取标签内的所有文本。这是我的尝试: 印刷产品 要获取的正确正则表达式是: 或。 谢谢。:) 问题答案: 产量 regex与unicode完全相同,但难于阅读。 第一个括号组告诉重新任何列表中的字符应匹配,并且同样与第二组括号。那你想什么都不要。所以, 卸下外围的方括号。(也除去杂散前
问题内容: 我正在尝试抓取“ ”标记后的所有内容并将其删除,但是我的代码似乎没有执行任何操作。难道不支持正则表达式? 问题答案: 否。Python中的正则表达式由模块处理。 一般来说: