|
代码:
- # -*- coding:utf-8 -*-
- import re
- import sys
- reload(sys)
- sys.setdefaultencoding("utf-8")
- #第一个编号后面的是中文冒号,第二个编号后面的是英文冒号
- text = "JGood iss a 编号:123456 boy, he is 编号:123456, clever, and so on..."
- reg = re.compile(r'(?<=编号(:|:))\d+')
- match = reg.search(text)
- if match:
- print match.group(0)
- else:
- print 'not match'
复制代码 需求是不管遇到中文或者英文冒号,都能够打印输出后面的数字
报错信息:
- C:\Users\pc\Desktop>python test.py
- Traceback (most recent call last):
- File "test.py", line 8, in <module>
- reg = re.compile(r'(?<=缂栧彿(:|锛?)\s*\S+')
- File "D:\Python 2.7\lib\re.py", line 190, in compile
- return _compile(pattern, flags)
- File "D:\Python 2.7\lib\re.py", line 245, in _compile
- raise error, v # invalid expression
- sre_constants.error: look-behind requires fixed-width pattern
复制代码 感觉应该是中文编码的问题,但是加了
- import sys
- reload(sys)
- sys.setdefaultencoding("utf-8")
复制代码 还是报同样的错误,搜索过这个报错信息,没找到正确的解决方法,请帮忙看一下
|
|