[问题] 请问正规表达式有反向处理吗

楼主: jijuan   2019-01-28 11:17:33
不知道反向这个形容正不正确,
想请问有没有取得对比的功能,
比方说有个文档
里面的内容是https://drive.google.com/open?id=1OQi21nSnrgTUpz2iyO-81JShQSCXLvS4
Player
Taylor Johnson
Salary
Fish
Jack Lee
Bob Woody
Name
CITY
Roy Williams
Dish
Age
Wish
然后我想要比对每一行,只留下姓名,其它无用的字都不用,
那现在的作法是如下,把那些要排除的字加入后,
利用mo == None来做处理,
那是否有可以直接在wish_regex = re.compile(...
这行直接指定“排除掉这些结果”就是我要的这种写法呢?
import re
wish_regex = re.compile('Player|Salary|Fish|Name|City|Dish|Age|Wish')
with open('test.txt', 'rt', encoding='utf8') as f:
read_data = f.readlines()
for line in read_data:
mo = wish_regex.match(line)
if mo == None:
print(line)
作者: vi000246 (Vi)   2019-01-28 11:56:00
用^
作者: TitanEric (泰坦)   2019-01-28 12:15:00
楼上正解 不过^要加在[]里面唷
作者: adrianshum (Alien)   2019-01-28 23:12:00
^ 不行吧,楼上确定那是正解?看看negative look ahead 可能可以
作者: nini200 (200妮妮)   2019-01-29 11:18:00
if(re.match('\D+\s\D+',line)): print(line)

Links booklink

Contact Us: admin [ a t ] ucptt.com