我有一个多行字符串,如下所示:
st = '''emp:firstinfo\n
:secondinfo\n
thirdinfo
'''
print(st)
我要做的是跳过字符串中的第二个“:”,得到如下输出:
'''emp:firstinfo\n
secondinfo\n
thirdinfo
'''
简单地说,如果它以“:”开头,我试图忽略它。你知道吗
以下是我所做的:
mat_obj = re.match(r'(.*)\n*([^:](.*))\n*(.*)' , st)
print(mat_obj.group())
很明显,我看不出我的错误,但谁能帮我告诉我哪里错了?你知道吗
你可以用sub代替,只是不要捕捉不需要的部分。你知道吗
替换为
^{}
进口re
text=“电影低俗小说于1994年上映” 结果=回复sub(r“[a-z]”,“”,文本) 打印(结果)
可以将
re.sub
与此正则表达式一起使用:RegEx Demo
正则表达式详细信息:
(
:启动第一个捕获组[^:\n]*
:匹配0个或更多不是:
和换行符的字符:
:匹配冒号[^:\n]*
:匹配0个或更多不是:
和换行符的字符\n
:匹配新行)
:结束第一个捕获组\s*
:匹配0个或更多的空白:
:匹配冒号(.+)
:匹配第二个捕获组中的一个或多个字符(除了换行符)\1\2
:用于替换以放回组1和组2中捕获的子串。你知道吗相关问题 更多 >
编程相关推荐