python正则表达式匹配结尾_正则表达式匹配单词和字符串结尾

我想到的是:import re

class Bunch(object):

def __init__(self, **kwargs):

self.__dict__.update(kwargs)

match = re.compile(

flags = re.VERBOSE,

pattern = r"""

( (?!with) (?P [a-zA-Z_]+ ) )

( \s+ (?!with) (?P [a-zA-Z_]+ ) )?

( \s+ (?P with ) )?

(?![a-zA-Z_\s]+)

| (?P .* )

"""

).match

s = 'john doe with'

b = Bunch(**match(s).groupdict())

print 's:', s

if b.error:

print 'error:', b.error

else:

print 'first:', b.first

print 'second:', b.second

print 'with:', b.awithOutput:

s: john doe with

first: john

second: doe

with: with

也尝试过:s: john

first: john

second: None

with: None

s: john doe

first: john

second: doe

with: None

s: john with

first: john

second: None

with: with

s: john doe width

error: john doe width

s: with

error: with

顺便说一句:re.VERBOSE和re.DEBUG是你的朋友。

谨致问候,

米克。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值