import re
regex = re.compile(r'(^| )=([^\s]*[^\s])=(\B|[\u4e00-\u9fa5])')
text = '=1= = 2= =3 == = 4 = =5=, =6=* =7=三 =8=a =9=='
print(regex.findall(text))
需求: 两个等号之间不能以空格开头或结尾,第一个等号之前只能是空格或者每一行的开始位置,第二个等号之后可以是标点或者汉字或者每一行结束,不能是数字字母下划线
想问一下为什么匹配不到 3 =
期望输出
[('', '1', ''),(' ','3 =','') (' ', '5', ''), (' ', '6', ''), (' ', '7', '三'), (' ', '9=', '')]
实际输出
[('', '1', ''), (' ', '5', ''), (' ', '6', ''), (' ', '7', '三'), (' ', '9=', '')]
请教一下这该怎么修改?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.