楼主: somnus91
2535 5

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

  • 0关注
  • 1粉丝

博士生

80%

还不是VIP/贵宾

-

威望
0
论坛币
949 个
通用积分
3.5507
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2037 点
帖子
95
精华
0
在线时间
561 小时
注册时间
2014-11-22
最后登录
2025-3-13

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

最佳答案

fengxingliulizi 查看完整内容

里面的是中文括号,这句话是删除括号和里面的内容 txt2 = re.sub('(.*?)', '',txt)
关键词:python 一句话 万分感谢 关键词 python 关键词

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

藤椅
fengxingliulizi 发表于 2017-6-8 09:06:52
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
拉您进交流群
GMT+8, 2025-12-29 06:58