已关闭。此问题需要details or clarity。目前不接受回答。
**要改进此问题吗?**通过editing this post添加详细信息并阐明问题。
7天前关闭。
Improve this question的
我想根据关键字将某些字符括在括号中。虽然这段代码的输出是'A_B101_c1'
,但我想得到'(A)_(B)(101)_(c)1'
。
import re
text = 'A_B101_c1'
keyword = r'(A)_(B|D)([0-9]+)_([a-z])'
re.search(keyword, text).group()
字符串
我想知道如何根据任何关键字输出匹配的组和剩余的括号。那么,我如何定义这样一个函数?
def f(text, keyword):
???
型
预期输出(关键字'r'(A)_(B|D)([0-9]+)_([a-z])'
):
文本:'A_B101_c1'
-->输出:'(A)_(B)(101)_(c)1'
文本:'A_D1_dc'
-->输出:'(A)_(D)(1)_(d)c'
预期输出(关键字'([A-Z])12(b|d)(.*)c([1-9]+)'
)
文本:'A12ba_Bc123'
-->输出:'(A)12(b)(a_B)c(123)'
2条答案
按热度按时间cunj1qz11#
试验项目:
字符串
输出量:
型
lkaoscv72#
可能以通用方式实现您想要的最简单方法是通过迭代使用
re.search
模式找到的组来构建输出字符串,对于每个组,首先添加它前面的输入文本,然后添加()
中的组文本;最后添加其余的输入文本:字符串