Python正则表达式查找并添加到开头

2024-04-25 11:49:30 发布

您现在位置:Python中文网/ 问答频道 /正文

刚刚学习Python中的正则表达式,就被困在这个案例中:

str = '''
Here are some order bullets:
i. Foo
ii. Bar
iii. Baz
iv. YOLO
...
x. LOL
'''

我如何做到这一点:

str = '''
Here are some order bullets:
- i. Foo
- ii. Bar
- iii. Baz
- iv. YOLO
...
- x. LOL
'''

Tags: herefoobaryoloordersomebazare
1条回答
网友
1楼 · 发布于 2024-04-25 11:49:30

您可以在MULTILINE模式下使用此正则表达式:

>>> print re.sub(r'(?m)^([a-zA-Z0-9]+\.)', r'- \1', str)

Here are some order bullets:
- i. Foo
- ii. Bar
- iii. Baz
- iv. YOLO
...
- x. LOL

正则表达式分解:

搜索:

  • (?m):启用多行模式
  • ^:开始
  • ([a-zA-Z0-9]+\.):匹配和分组1+字母数字字符

更换:

  • -:放置文字{}
  • \1:返回对捕获组#1的引用

相关问题 更多 >