re.search('(?ix)(?<=l)ike.*(?=s)','as Like as').group()
#结果 ike a
#说明
# 1. (?..) 匹配模式(就写有用的)
# >i 使匹配对大小写不敏感
# >x 正则中串中的空白符被忽略
# 比如 (?x)li k e 可以匹配 like
#2. (?<=l) 前驱匹配但不消费,
# 比如上面 (?<=l)(.*) 可以匹配 l(ike..)
#3. (?=s) 后驱匹配但不消费
# 比如上面 (?<=l)(.*)(?=s) 匹配 l(ike a)s
re.search('(?ix)(as)?(.*)(?(1)as)','As like as').group(2)
#结果 ' like '
#(as)? 条件
#(?(1)as) 如果条件1 为真 ,再匹配as
#
# 给 条件取名 (?P<name>....) (?(name)....)
#re.search('(?ix)(?P<rid>as)(.*)(?(rid)as)','As Like as').group(2)
# 结果 Like
详细参考 python >>> help(re)
或
http://www.python.org/doc/2.5/lib/re-syntax.html
整理 www.blogjava.net/Good-Game