gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:27:17 24 4
gpt4 key购买 nike

首先,这不是 this question 的骗局.

在 Javascript 中,这个表达式似乎被正确计算:

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

如果我将它传递给 Python re 模块,就会发生不好的事情。事实上,以下返回错误:

import re
re.compile (u'\\/(omniture|mbox|hbx|omniunih)(.*)?')

In [101]: re.compile (u'\\/(omniture|mbox|hbx|omniunih)(.*)?')
---------------------------------------------------------------------------
error Traceback (most recent call last)
/home/fakk/spider.io/1/<ipython-input-101-b5b19eb3b66e> in <module>()
----> 1 re.compile (u'\\/(omniture|mbox|hbx|omniunih)(.*)?')

/usr/lib/python2.7/re.pyc in compile(pattern, flags)
188 def compile(pattern, flags=0):
189 "Compile a regular expression pattern, returning a pattern object."
--> 190 return _compile(pattern, flags)
191
192 def purge():

/usr/lib/python2.7/re.pyc in _compile(*key)
242 p = sre_compile.compile(pattern, flags)
243 except error, v:
--> 244 raise error, v # invalid expression
245 if len(_cache) >= _MAXCACHE:
246 _cache.clear()

error: nothing to repeat

Python 提示 (.*)? 部分,我自己无法理解。

我的问题是:

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

最佳答案

问号是多余的,你自己反射(reflect),真的没有任何意义,去掉它,你应该在做生意。

关于javascript - Python 和 Javascript 在计算正则表达式时的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8725401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com