如何使用python正则表达式获取两个标记之外的字符串?
例如,假设我有以下字符串:如何使用python正则表达式获取两个标记之外的字符串?,python,arrays,regex,string,Python,Arrays,Regex,String,例如,假设我有以下字符串: str1=“这本书里有!27篇论文!马上!还有一个记号笔!”, 我希望它能返回一个在“!”之外的单词列表马克 所以对于这个问题:[“有”、“有”、“书”、“现在”] 我尝试过使用re.findall('!(.+?)!',str1)使用python正则表达式,但这返回了'!'中的内容不是外面的。这应该足够近,但不要使用re [s for w in str1.split('!')[::2] for s in w.split()] 即使使用re,您也需要花费精力清理标点符
str1=“这本书里有!27篇论文!马上!还有一个记号笔!”
,我希望它能返回一个在“!”之外的单词列表马克
所以对于这个问题:
[“有”、“有”、“书”、“现在”]
我尝试过使用
re.findall('!(.+?)!',str1)
使用python正则表达式,但这返回了'!'中的内容不是外面的。这应该足够近,但不要使用re
[s for w in str1.split('!')[::2] for s in w.split()]
即使使用re,您也需要花费精力清理标点符号的结果。这应该足够接近,但不要使用re
[s for w in str1.split('!')[::2] for s in w.split()]
即使使用re,您也需要花费精力清理标点符号的结果。最简单的方法是替换。
str1 = "There are !27 papers in! the book !right! now. !Also a marker.!"
re.sub(r'(!.+?!)','',str1)
最简单的方法是替换。
str1 = "There are !27 papers in! the book !right! now. !Also a marker.!"
re.sub(r'(!.+?!)','',str1)