- 论坛徽章:
- 0
|
我自己定义了一个任意数字(整数,小数,科学计数)的匹配字符串,想用来匹配一个含有数字的字符,结果失败,程序如下:
import re
number=r'(?:[+-]?)(?:[0-9]+)|(?:[0-9]*[.][0-9]+)(?:[eE][+-]?[0-9]+)?'
a='100V_ch1'
b=1
search=re.search(r'('+number+r'v?)'+r'\s*[_-]?\s*Ch\s*'+str(b),str(a),re.I)
if search:
print(search.group())
else:
print('fail')
search=re.search(r'((?:[+-]?)(?:[0-9]+)|(?:[0-9]*[.][0-9]+)(?:[eE][+-]?[0-9]+)?v?)\s*[_-]?\s*Ch\s*1',str(a),re.I)
if search:
print(search.group())
else:
print('fail')
两种方式都失败,我想用复杂的正则表达式匹配数字(在我的程序里通用),为什么连这个简单的'100V_ch1'都无法匹配?我以前是写perl的,我用的这个正则在perl里可以很好的运行。
|
|