我有一个文本文件,我需要从两个'*'之间的文件中提取所有内容.可能会出现多次相同的情况.我怎么用Regex做到这一点?我擅长Python,但我没有使用Regex,所以它是我的弱点.
笔记:
*通常是0 or more模式搜索,所以你需要用它来逃避它\.是一个any搜索,将捕获除换行符之外的所有字符!.要包含换行符,请添加re.DOTALL标志+意思是at least one,它是一个贪婪的运算符,这意味着它通常会捕获第一个和最后一个之间的所有东西(包括它们之间的任何东西),所以为了防止它贪婪,我们添加运算符,告诉它停在它遇到的第一个.***?*() 只保留括号内的匹配!这是一个实际的例子:
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?']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5974 次 |
| 最近记录: |