gpt4 book ai didi

python - 正则表达式匹配内部 '.'

转载 作者:太空宇宙 更新时间:2023-11-03 16:17:04 24 4
gpt4 key购买 nike

我想删除基于一个单词的内部句子。因此,我希望正则表达式语句返回“start.stop”,而不仅仅是“start”。

>>> import re
>>> s = 'start.stop.do nice.'
>>> re.sub(r'\..*nice.*', '', s)
'start'

最佳答案

您需要一个 negated character class而不是 .* 来拒绝匹配其他句子中的点。为了保留最后一个点,您可以使用 positive-lookahead对于最后一个点,使正则表达式引擎不会捕获它(只需检查它的存在)。

>>> re.sub(r'\.[^.]*nice[^.]*(?=\.)', '', s)
'start.stop'

@bfontaine 的另一个很好的例子:

>>> s = "foo.bar.nice.qux"
>>> re.sub(r'\.[^.]*nice[^.]*(?=\.)', '', s)
'foo.bar.qux'

关于python - 正则表达式匹配内部 '.',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38861419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com