我正在编写一个脚本来遍历产品数据库,其中产品描述格式不佳、格式不一致,以使其 HTML 统一。我遇到的一个问题是捕获和替换以相同方式格式化的代码行。例如,我想替换他们所有的
• item 1
• item 2
• item 3
和
<ul>
<li>item 1</li>
<li>item 3</li>
<li>item 2</li>
</ul>
用一行替换每一•
行<li>content</li>
很容易,但我一生都无法弄清楚列表前后的正则表达式。我的想法是捕获以开头的所有内容,•
直到出现不以 .开头的换行符•
。这是我最近的尝试(python):
In : p = re.compile(
r'•.*(?!^•)'
)
In : p.findall(text, re.MULTILINE, re.DOTALL)
Out : []
In : p.findall(text, re.MULTILINE)
Out : ['• item 1', '• item 2', '• item 3']
In : p.findall(text, re.DOTALL)
Out : ['• item 1', '• item 2', '• item 3']
In : p.findall(text)
Out : ['• item 1', '• item 2', '• item 3']
关于如何捕捉类似的任何想法['• item 1\n• item 2\n• item 3']
?