学习笔记 python——正则表达式(re模块)详解解决字符串提取数字问题


问题:

、'西瓜有5个,杏有20个,梨有4个,香蕉有3个,猕猴桃有6个,桃子有21个,火龙果有7个'

原来想要解决一下,在字符串里边儿匹配住数字,然后再求加和,但是后来发现,如果一个字符一个字符的截取不太行。就比如说20就会被截取成二和零。这就麻烦了,所以说需要进行匹配。然后再学习寻找正则表达式的时候,找了很多资料都不全乎。最终发现了这个深度好文。

划重点:

直接看原文!!!!!!!!!!!!!!!!!!!!

原文链接:

 

python——正则表达式(re模块)详解_guo_qingxia的博客-CSDN博客_reread在Python中需要通过正则表达式对字符串进⾏匹配的时候,可以使⽤⼀个python自带的模块,名字为re。正则表达式的大致匹配过程是:1.依次拿出表达式和文本中的字符比较,2.如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。3.如果表达式中有量词或边界,这个过程会稍微有一些不同。r:在带有 'r' 前缀的字符串字面值中,反斜杠不必做任何特殊处理。 因此 r"\n" 表示包含 '\' 和 'n' 两个字符的字符串,而 "\n" 则表示只包含一个换行符的字符串。re模块的https://blog.csdn.net/guo_qingxia/article/details/113979135?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163284057816780264056610%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163284057816780264056610&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-113979135.first_rank_v2_pc_rank_v29&utm_term=re&spm=1018.2226.3001.4187

.不太理解这个

. 是任意字符 可以匹配任何单个字符,

例子:正则表达式r.t 可以匹配这些字符串:rat、rut、r t,但是不匹配root。 

.*?  表示匹配任意字符到下一个符合条件的字符

例子:正则表达式a.*?xxx   可以匹配 abxxx  axxxxx  abbbbbxxx

扩展:

* 匹配0或多个正好在它之前的那个字符。例如正则表达式。*意味着能够匹配任意数量的任何字符。? 匹配0或1个正好在它之前的那个字符。注意:这个元字符不是所有的软件都支持的。.*是指任何字符0个或多个,.?是指任何字符0个或1个.

.*具有贪婪的性质,首先匹配到不能匹配为止,根据后面的正则表达式,会进行回溯。.*?则相反,一个匹配以后,就往下进行,所以不会进行回溯,具有最小匹配的性质。

?表示非贪婪模式,即为匹配最近字符 如果不加?就是贪婪模式a.*bc 可以匹配  abcbcbc
 

 

原文链接:

正则里的(.*?)是什么意思_Simple的博客-CSDN博客. 是任意字符 可以匹配任何单个字符,例子:正则表达式r.t 可以匹配这些字符串:rat、rut、r t,但是不匹配root。.*? 表示匹配任意字符到下一个符合条件的字符例子:正则表达式a.*?xxx可以匹配abxxx axxxxx abbbbbxxx扩展:* 匹配0或多个正好在它之前的那个字符。例如正则表达式。*意味着能够匹配任意数量的任何字符。? 匹配...https://blog.csdn.net/qq_42804678/article/details/91346116?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163455770416780261998122%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163455770416780261998122&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-91346116.first_rank_v2_pc_rank_v29&utm_term=%28.*%3F%29&spm=1018.2226.3001.4187 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值