ai didi

python - 如何匹配此模式和字符串中的最后一个空格?

转载 作者:行者123 更新时间:2023-12-04 00:12:52 24 4
gpt4 key购买 nike

s = "DL666 DL777 DL888 这波值不值你下载"

我想匹配从最后一个空格开始的字符,所以匹配应该是:

m = "这波值不值你下载"

我写了这个模式,但是没有用:

p = '\s.+?$'

我还以为 ?用于非贪婪搜索。

最佳答案

它不起作用的原因是因为它试图从从左到右找到匹配项。

正则表达式 \s.+?$ 表示:

  • 匹配一个空格\s
  • 后跟任意数字+?的任意字符
  • 直到到达行尾(或字符串)$

? 后面的 $ 使 ? 无用。

这就是为什么它匹配字符串中第一个空格之后的所有内容。 DL777 DL888 这波值不值你下载 Demo

另一方面,如果您将 . 更改为任何 除了 空格 (\S),您将得到您想要的.当您使用它时,您不妨删除 ?。而且由于您不关心非空白之前的空白,因此也摆脱了 \s\S+$ 匹配这波值不值你下载 Demo

请注意,虽然此正则表达式有效,但仅使用 str.rindex() 并像 GCG suggests 这样对字符串进行切片会更便宜。在他们对这个问题的回答中。

关于python - 如何匹配此模式和字符串中的最后一个空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67223717/

24 4 0
文章推荐: python - 如何在 Python 的列表中获取字符串的位置?
文章推荐: python - 嵌套生成器表达式调用动态引用的函数
文章推荐: r - 如何使用 R 中的 if 语句将唯一函数应用于数据集的多行?
文章推荐: vim - Vim 文本对象 ip 和 ap 有什么区别?
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com