python 正则怎么匹配a到b的内容,包括A和B

比如123A1234567890B123匹配输出的字符:A1234567890B膜拜大大搜了好多都是匹配不到B的... 比如123A1234567890B123
匹配输出的字符:A1234567890B
膜拜大大
搜了好多都是匹配不到B的
展开
 我来答
kwydwuf
2015-08-06 · TA获得超过7411个赞
知道大有可为答主
回答量:1527
采纳率:71%
帮助的人:2016万
展开全部
import re

def my_search(text, a, b):
  regexp = r'(%s.*%s)' % (a, b)
  m = re.search(regexp, text)
  if m:
    return m.group(1)
  return ""

# my_search 返回值即为匹配内容,如下:
my_search("123A1234567890B1234", "A", "B")
追问
大大这种方法简直太适合俺了,Thank you思密达,可是我把上一个大大采纳了555~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kohijiri
推荐于2016-05-14 · 超过63用户采纳过TA的回答
知道答主
回答量:144
采纳率:0%
帮助的人:118万
展开全部
ptn = re.compile(r'[0-9]+([a-zA-Z][0-9]+[a-zA-Z])[0-9]+')
m = ptn.match("123A1234567890B123")
print m.group(1)
追问
这种我知道,分成三个组嘛,第一、三个是1个以上的数字,中间就是匹配的内容,
但是在实际中,前面和后面不一定是123,啊,可能是其他任意字符,也可能没有,
追答
r'.+(A[0-9]+B).+'

把你想匹配的文字串的规律详述一下可以吗?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式