|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
WIN10/PYTHON3.7.6
---以下代码1----
import re
charref = re.compile(r''' # r + '字符串' = 原始字符串
&\# # 开始数字引用
(
0[0-9]+ # 八进制格式
|[0-9]+ # 十进制格式
|x[a-zA-Z0-9]+ # 十六进制格式
)
; # 分号结尾
''', 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[0-9]+                # 八进制格式
    |[0-9]+                # 十进制格式
    |x[a-zA-Z0-9]+         # 十六进制格式
)
;                          # 分号结尾
''', 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)
【我的问题】
两个代码没看出什么不同?为何返回结果不同?
请大家一起帮忙看看,谢谢! |
|