请选择 进入手机版 | 继续访问电脑版
楼主: somnus91
2187 5

[问答] python中怎么只匹配第一句话或者第二句话内的内容,并排除括号内的内容 [推广有奖]

  • 0关注
  • 1粉丝

博士生

74%

还不是VIP/贵宾

-

威望
0
论坛币
958 个
通用积分
4.3007
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2021 点
帖子
92
精华
0
在线时间
549 小时
注册时间
2014-11-22
最后登录
2024-3-27

somnus91 发表于 2017-6-7 16:00:14 |显示全部楼层 |坛友微信交流群
20论坛币
比如原文为:“张三欠李四钱,需要偿还李四总共500元钱。张三需要偿还李四本金454元,利息23元(不包括其他金额4元)。张三需要3天内偿还。”
求问:我需要用Python解析出454元、23元。关键词为偿还。
我怎么定位第二句话,告诉python只在第二句话中进行解析,并且排除括号中的"4元"(即告诉Python不解析括号中的内容)
求大神指导,万分感谢

最佳答案

fengxingliulizi 查看完整内容

里面的是中文括号,这句话是删除括号和里面的内容 txt2 = re.sub('(.*?)', '',txt)
关键词:python 一句话 万分感谢 关键词 python 关键词
somnus91 发表于 2017-6-8 15:09
谢谢,这只是我列举的一个例子,实际上我是不想匹配括号里面的金额,请问您知道怎么操作吗
里面的是中文括号,这句话是删除括号和里面的内容
txt2 = re.sub('(.*?)', '',txt)

使用道具

pattern = '本金(.*?)元.*?利息(.*?)元'

使用道具

somnus91 发表于 2017-6-8 15:09:24 |显示全部楼层 |坛友微信交流群
fengxingliulizi 发表于 2017-6-8 09:06
pattern = '本金(.*?)元.*?利息(.*?)元'
谢谢,这只是我列举的一个例子,实际上我是不想匹配括号里面的金额,请问您知道怎么操作吗

使用道具

letsgoaway 发表于 2017-6-9 19:53:39 |显示全部楼层 |坛友微信交流群
import re
words = "张三欠李四钱,需要偿还李四总共500元钱。" \
        "张三需要偿还李四本金454元,利息23元(不包括其他金额4元)。" \
        "张三需要3天内偿还。"
print(words)

capital = re.findall('本金(.*?)元', words, re.S)
int = re.findall('利息(.*?)元', words, re.S)

print(capital)
print(int)

使用道具

eva51177189 发表于 2017-6-13 13:16:22 |显示全部楼层 |坛友微信交流群
谢谢分享

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 04:11