sre_constants.error: nothing to repeat at position 0
sre_constants.error: nothing to repeat at position 0
当我 运行 我的代码使用 Python 3.5.1:
时,我收到一条错误消息
sre_constants.error: nothing to repeat at position 0
我在我的代码中找不到错误,我认为错误甚至不在 我的 代码中。
这是我的代码:
import re
numberRegexa = re.compile(r'06\d{8}')
numberRegexb = re.compile(r'06 \d{8}')
numberRegexc = re.compile(r'31 6 \d{8}')
numberRegexd = re.compile(r'+31 6 \d{8}')
numberRegexe = re.compile(r'316\d{8}')
numberRegexf = re.compile(r'+316\d{8}')
numberRegexg = re.compile(r'316 \d{8}')
numberRegexh = re.compile(r'+316 \d{8}')
numberRegexi = re.compile(r'31 6\d{8}')
numberRegexj = re.compile(r'+31 6\d{8}')
##numberRegexAll = [
## (1, numberRegex06a),
## (2, numberRegex06b),
## (3, numberRegex31a),
## (4, numberRegex31b),
## (5, numberRegex31c),
## (6, numberRegex31d),
## (7, numberRegex31e),
## (8, numberRegex31f),
## (9, numberRegex31g),
## (10, numberRegex31h),
##]
def searchNumber():
result = numberRegex06a.search(userInput)
print('Found: ' + result.group())
userInput = input("Insert text you'd like searched:\n")
searchNumber()
这是我的日志:
Traceback (most recent call last): File "C:/Users/Hibuna/Desktop/asdsad.py", line 6, in <module>
numberRegexd = re.compile(r'+31 6 \d{8}')
File "C:\Programs\Python 3.5.1\lib\re.py", line 224, in compile
return _compile(pattern, flags)
File "C:\Programs\Python 3.5.1\lib\re.py", line 293, in _compile
p = sre_compile.compile(pattern, flags)
File "C:\Programs\Python 3.5.1\lib\sre_compile.py", line 536, in compile
p = sre_parse.parse(p, flags)
File "C:\Programs\Python 3.5.1\lib\sre_parse.py", line 829, in parse
p = _parse_sub(source, pattern, 0)
File "C:\Programs\Python 3.5.1\lib\sre_parse.py", line 437, in
_parse_sub
itemsappend(_parse(source, state))
File "C:\Programs\Python 3.5.1\lib\sre_parse.py", line 638, in
_parse
source.tell() - here + len(this))
这是怎么回事?
您可以在此处测试您的正则表达式模式:https://regex101.com/r/eY4aT8/1。对它们进行了详细解释并描述了错误。
问题在于您的正则表达式模式 +31 6 \d{8}
- 它不能仅以 +
开头而 +
左侧没有任何内容。
当我 运行 我的代码使用 Python 3.5.1:
时,我收到一条错误消息sre_constants.error: nothing to repeat at position 0
我在我的代码中找不到错误,我认为错误甚至不在 我的 代码中。
这是我的代码:
import re
numberRegexa = re.compile(r'06\d{8}')
numberRegexb = re.compile(r'06 \d{8}')
numberRegexc = re.compile(r'31 6 \d{8}')
numberRegexd = re.compile(r'+31 6 \d{8}')
numberRegexe = re.compile(r'316\d{8}')
numberRegexf = re.compile(r'+316\d{8}')
numberRegexg = re.compile(r'316 \d{8}')
numberRegexh = re.compile(r'+316 \d{8}')
numberRegexi = re.compile(r'31 6\d{8}')
numberRegexj = re.compile(r'+31 6\d{8}')
##numberRegexAll = [
## (1, numberRegex06a),
## (2, numberRegex06b),
## (3, numberRegex31a),
## (4, numberRegex31b),
## (5, numberRegex31c),
## (6, numberRegex31d),
## (7, numberRegex31e),
## (8, numberRegex31f),
## (9, numberRegex31g),
## (10, numberRegex31h),
##]
def searchNumber():
result = numberRegex06a.search(userInput)
print('Found: ' + result.group())
userInput = input("Insert text you'd like searched:\n")
searchNumber()
这是我的日志:
Traceback (most recent call last): File "C:/Users/Hibuna/Desktop/asdsad.py", line 6, in <module>
numberRegexd = re.compile(r'+31 6 \d{8}')
File "C:\Programs\Python 3.5.1\lib\re.py", line 224, in compile
return _compile(pattern, flags)
File "C:\Programs\Python 3.5.1\lib\re.py", line 293, in _compile
p = sre_compile.compile(pattern, flags)
File "C:\Programs\Python 3.5.1\lib\sre_compile.py", line 536, in compile
p = sre_parse.parse(p, flags)
File "C:\Programs\Python 3.5.1\lib\sre_parse.py", line 829, in parse
p = _parse_sub(source, pattern, 0)
File "C:\Programs\Python 3.5.1\lib\sre_parse.py", line 437, in
_parse_sub
itemsappend(_parse(source, state))
File "C:\Programs\Python 3.5.1\lib\sre_parse.py", line 638, in
_parse
source.tell() - here + len(this))
这是怎么回事?
您可以在此处测试您的正则表达式模式:https://regex101.com/r/eY4aT8/1。对它们进行了详细解释并描述了错误。
问题在于您的正则表达式模式 +31 6 \d{8}
- 它不能仅以 +
开头而 +
左侧没有任何内容。