Python 正则表达式错误 : nothing to repeat at position 0

标签 python regex python-3.x

我正在尝试匹配可以从普通英文键盘输入的字符串。

因此,它应该包括我们键盘上出现的字母、数字和所有符号。

Corresponding regex : "[a-zA-Z0-9\t ./,<>?;:\"'`!@#$%^&*()\[\]{}_+=|\\-]+"

我在 regexr.com 上验证了这个正则表达式.

在 python 中,在匹配时出现以下错误:

>>> a=re.match("+how to block a website in edge",pattern)

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\local\Anaconda3-4.1.1-Windows-x86_64\envs\tf_1.2\lib\re.py", line 163, in match
    return _compile(pattern, flags).match(string)
  File "C:\local\Anaconda3-4.1.1-Windows-x86_64\envs\tf_1.2\lib\re.py", line 293, in _compile
    p = sre_compile.compile(pattern, flags)
  File "C:\local\Anaconda3-4.1.1-Windows-x86_64\envs\tf_1.2\lib\sre_compile.py", line 536, in compile
    p = sre_parse.parse(p, flags)
  File "C:\local\Anaconda3-4.1.1-Windows-x86_64\envs\tf_1.2\lib\sre_parse.py", line 829, in parse
    p = _parse_sub(source, pattern, 0)
  File "C:\local\Anaconda3-4.1.1-Windows-x86_64\envs\tf_1.2\lib\sre_parse.py", line 437, in _parse_sub
    itemsappend(_parse(source, state, nested + 1))
  File "C:\local\Anaconda3-4.1.1-Windows-x86_64\envs\tf_1.2\lib\sre_parse.py", line 638, in _parse
    source.tell() - here + len(this))
sre_constants.error: nothing to repeat at position 0

最佳答案

此错误消息与参数位置无关。是的,在上面的问题中,它们的顺序不正确,但这只是问题的一半。

当我有这样的事情时,我遇到过这个问题:

re.search('**myword', '/path/to/**myword') 

我想自动获取“**”,所以我不想在某处手动编写“\”。为此,有 re.escape() 函数。这是正确的代码:

re.search(re.escape('**myword'), '/path/to/**myword')

这里的问题是在行首之后放置了特殊字符。

关于Python 正则表达式错误 : nothing to repeat at position 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46103756/

相关文章:

python - FTP 循环失败连接 Pyth3.6

r - 如何根据给定字符的一次或多次出现来拆分字符串?

python - Ubuntu18.04(Virtualbox) 上滑动背景的问题

javascript - REGEX:查找字符串中某些给定特殊字符的正确出现顺序

python - 子类避免父类的元类

python - 从 HTTP 响应到 csv

python - 对 'restaurants_list' 进行反向操作,未找到参数 '()' 和关键字参数 '{}'。尝试了 0 个模式 : []

python - Unpickled tensorflow 模型无法做出预测

python - 如何在 powershell 和 python 脚本中保护 API 身份验证详细信息

c++ - 应用程序参数的正则表达式