[python]正则表达式脑筋急拐弯-练习1
2019-12-20 本文已影响0人
Silver_42ac
print("Hello World!")
import re
#1、目标匹配获得 =等号后的每个内容
elements='ID=O00001-RA;Parent=O00001;'
result=re.findall('=(\S+);',elements)
#\S 大写的S 表示非 空格,小写s表示空格;大写的S 几乎可以表示很多特殊符号
#+ 表示一个到多个,匹配时,程序会尽可能多的匹配,叫做贪婪匹配
print(result)
result=re.findall('=(\S+?);',elements)
print(result)
#2、加大难度,末尾没有分号,怎么办
elements='ID=O00001-RA;Parent=O00001'
result=re.findall('=([^;]+)',elements)
#第二种状态;我们要换个思路,;分号 总是捣乱,那么我们把分号排除掉
#[^ 填写不要的东西 ],这种就是不要什么放进去就认为不要中作为匹配,表示除了;分号以为的任意字符
print(result)