有这么一个字符串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+:abcd2+:abcdabcd3+:abcdabcd然后只需要写个函数,从外面传参数进来就可以得到任意两个PN之间的内容了……
繁星点点滴滴
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"]
添加回答
举报
0/150
提交
取消