为何一个可以返回,另一个返回错误?看得眼都花了,还找不出代码有何不同……
WIN10/PYTHON3.7.6---以下代码1----
import re
charref = re.compile(r'''# r + '字符串' = 原始字符串
&\# # 开始数字引用
(
0+ # 八进制格式
|+ # 十进制格式
|x+ # 十六进制格式
)
; # 分号结尾
''', re.X)
t1 = charref.match('')
print(t1)
t2 = charref.match(' ')
print(t2)
t3 = charref.match('
')
print(t3)
运行后返回如下:
<re.Match object; span=(0, 6), match=''>
<re.Match object; span=(0, 5), match=' '>
<re.Match object; span=(0, 5), match='
'>
----以下代码2-------
import re
charref = re.compile(r''' # r + '字符串' = 原始字符串
&\# # 开始数字引用#前应加上反斜杠\
(
0+ # 八进制格式
|+ # 十进制格式
|x+ # 十六进制格式
)
; # 分号结尾
''', re.X)
t1 = charref.match('')
print(t1)
t2 = charref.match(' ')
print(t2)
t3 = charref.match('
')
print(t3)
运行后返回如下:
Traceback (most recent call last):
File "D:\work\12345.py", line 11, in <module>
''', re.X)
File "C:\Users\dell\AppData\Local\Programs\Python\Python37\lib\re.py", line 234, in compile
return _compile(pattern, flags)
File "C:\Users\dell\AppData\Local\Programs\Python\Python37\lib\re.py", line 286, in _compile
p = sre_compile.compile(pattern, flags)
File "C:\Users\dell\AppData\Local\Programs\Python\Python37\lib\sre_compile.py", line 764, in compile
p = sre_parse.parse(p, flags)
File "C:\Users\dell\AppData\Local\Programs\Python\Python37\lib\sre_parse.py", line 938, in parse
raise source.error("unbalanced parenthesis")
re.error: unbalanced parenthesis at position 176 (line 7, column 1)
【我的问题】
两个代码没看出什么不同?为何返回结果不同?
请大家一起帮忙看看,谢谢! 本帖最后由 lzb1001 于 2022-5-21 00:02 编辑
刚发现怎么代码2复制黏贴过来多了那么多空格?奇了怪了……
import re
charref = re.compile(r'''# r + '字符串' = 原始字符串
&\# # 开始数字引用,#前应加上反斜杠转义
(
0+ # 八进制格式
|+ # 十进制格式
|x+ # 十六进制格式
)
; # 分号结尾
''', re.X)
t1 = charref.match('')
print(t1)
t2 = charref.match(' ')
print(t2)
t3 = charref.match('
')
print(t3) lzb1001 发表于 2022-5-20 23:54
刚发现怎么代码2复制黏贴过来多了那么多空格?奇了怪了……
使用代码框发代码吧,看不了啊,迷魂 wp231957 发表于 2022-5-21 06:10
使用代码框发代码吧,看不了啊,迷魂
找到原因了,应该就是复制的时候不知道为什么多了很多空格导致
页:
[1]