python 使用正则匹配把所有像1.0.988这种格式的替换为1-0-1-988
时间: 2023-12-25 18:06:48 浏览: 72
好的,可以使用 Python 的 `re` 模块来实现这个正则匹配和字符串替换。下面是一个示例代码:
```python
import re
# 定义正则表达式
pattern = r'(\d+)\.(\d+)\.(\d+)'
# 测试字符串
text = 'This is a test string, 1.0.988 is a version number.'
# 替换匹配的字符串
new_text = re.sub(pattern, r'\1-\2-\3', text)
# 输出结果
print(new_text)
```
输出结果为:
```
This is a test string, 1-0-988 is a version number.
```
解释一下代码:
1. 首先定义了一个正则表达式 `pattern`,它用括号将三个数字分组匹配。
2. 然后定义了一个测试字符串 `text`,里面包含了一个符合正则表达式的字符串 `1.0.988`。
3. 使用 `re.sub` 函数将匹配到的字符串替换为 `\1-\2-\3`,其中 `\1`、`\2`、`\3` 分别表示第 1、2、3 个分组匹配到的数字部分,用 `-` 符号拼接起来。
4. 最后输出新的字符串 `new_text`,结果为 `'This is a test string, 1-0-988 is a version number.'`。
希望这个示例对你有所帮助!
阅读全文