gpt4 book ai didi

python - 打印介于 "-"和 "-"之间的字符串

转载 作者:行者123 更新时间:2023-12-01 07:41:58 26 4
gpt4 key购买 nike

我有一个文本文件,其中“-”之间有多个字符串,我正在尝试打印“-”之间的每个字符串

我已经尝试过这段代码,但是它正在跳过值。

import re

text= """
-text1-text2-text3
-text4-
"""

result = re.findall(r'-(.*?)-', text)
print(result,end="")

我试图得到这样的结果:

['文本1','文本2','文本3'],'文本4']

但我的代码正在跳过值并给我这个:

['文本1','文本4']

最佳答案

您可以使用

-\s*(.*?)(?=\s*-)

请参阅regex demoregex graph :

enter image description here

请参阅Python demo :

import re
text= """
-text1-text2-text3
-text4-
"""
result = re.findall(r'-\s*(.*?)(?=\s*-)', text)
print(result) # => ['text1', 'text2', 'text3', 'text4']

如果需要跨行匹配,请将 re.Sre.DOTALL 标志添加到 re.findall

正则表达式详细信息

  • - - 连字符
  • \s* - 0+ 个空格
  • (.*?) - 捕获组 1:除换行符之外的任何 0+ 个字符
  • (?=\s*-) - 正向前瞻,需要 0+ 空格,然后 - 紧邻当前位置的右侧

关于python - 打印介于 "-"和 "-"之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56657229/

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