gpt4 book ai didi

Python Regex - 从两个 '*' 之间的字符串中查找内容

转载 作者:行者123 更新时间:2023-11-28 21:57:18 25 4
gpt4 key购买 nike

我有一个文本文件,我需要从两个“*”之间的文件中提取所有内容。可以多次出现相同的情况。我将如何使用正则表达式来做到这一点?我擅长 Python,但我没有经常使用正则表达式,所以这是我的弱项。

最佳答案

注意事项:

  1. 使用documentation ,这真的很有帮助!
  2. * 通常是 0 或更多 模式搜索,因此您需要使用 \
  3. 将其转义
  4. . 是一个any 搜索,将捕获除换行符外的所有字符!。要包含换行符,请添加 re.DOTALL 标志
  5. + 表示至少一个,它是一个贪婪运算符,意味着它通常会捕获第一个 之间的所有 * 和最后一个 *(包括中间的任何 *),所以为了防止它贪婪,我们添加了 ? 运算符,告诉它在遇到第一个 * 时停止。
  6. () 只保留括号内的匹配!

这是一个实际的例子:

import re
pattern = re.compile(r'\*(.+?)\*', flags=re.DOTALL)
text = """Why hello *there my fine
fellow!* How for art thou
on *such a glorious day?*"""

results = pattern.findall(text)
# ['there my fine\nfellow!', 'such a glorious day?']

关于Python Regex - 从两个 '*' 之间的字符串中查找内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20014923/

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