Python和Javascript在计算正则表达式时的区别

2024-09-29 01:20:02 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,这不是this question的重复。在

在Javascript中,此表达式的计算似乎正确:

\\/(omniture|mbox|hbx|omniunih)(.*)?

如果我把它传递给Pythonre模块,就会发生坏事。实际上,以下命令返回一个错误:

^{pr2}$

Python抱怨(.*)?部分,我自己也不明白。在

我的问题是:

  1. 在JS中(.*)?做什么?匹配零个或多个(*)字符(.)的零个或一个(?)吗?有什么意义?在
  2. 如何用Python翻译它?在

Tags: 模块命令表达式错误jsjavascriptthisquestion
2条回答

您的正则表达式没有意义,字符串末尾的?是不需要的,并且实际上永远不会匹配任何内容。此外,我建议您使用r''使表达式更易于阅读:

import re
my_regex = re.compile(r'\/(omniture|mbox|hbx|omniunih)(.*)')

这个问号是多余的,当你反思自己的时候,它其实没有任何意义,去掉它,你就应该做生意了。在

相关问题 更多 >