为了账号安全,请及时绑定邮箱和手机立即绑定

正则匹配重复字符串中某一段内容

正则匹配重复字符串中某一段内容

一只名叫tom的猫 2019-04-19 16:29:20
有这么一个字符串s='PN:\nabcd\nPN:\nabcd\nabcd\nPN:\nabcd\nabcd\n'即s='''PN:abcdPN:abcdabcdPN:abcdabcd'''我只想匹配到其中两个PN之间的\nabcd\n或者\nabcd\nabcd\n,然后我用了如下正则:result=re.search('P\s*N:\s*(.*[\s\S]*)P.*',s,re.IGNORECASE).group(0)最后输出result的结果为:PN:abcdPN:abcdabcdPN:求大神指点~
查看完整描述

2 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

呃,问题已解决,不用正则就行了……果然之前太依赖正则被自己误导了。附上代码:
lst=s1.split('PN')
forindex,eachinenumerate(lst):
printindex,'+',each
输出结果:
0+
1+:
abcd
2+:
abcd
abcd
3+:
abcd
abcd
然后只需要写个函数,从外面传参数进来就可以得到任意两个PN之间的内容了……
                            
查看完整回答
反对 回复 2019-04-19
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

不懂python,写了下js,不知道有帮助没
varstr='PN:\nabcd\nPN:\nabcd\nabcd\nPN:\nabcd\nabcd\n';
varresult=str.match(/PN:([a-z\n])*[^PN:]+/ig);
结果
["PN:\nabcd\n","PN:\nabcd\nabcd\n","PN:\nabcd\nabcd\n"]
                            
查看完整回答
反对 回复 2019-04-19
  • 2 回答
  • 0 关注
  • 1255 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信