2012-10-18 111 views
-1

我们有一个字符串:正则表达式标点符号'

application-label:'I'go Reader' 

我们应该写什么正则表达式(在Python)来匹配:

I'go Reader 

注: 我想:

re.search(r"(?<=label\=\')[\d\w\s\' ]+?(?=\')", text) 

但它匹配字符串,直到第一个'。如何匹配,直到第二个'之前的子字符串'?

+1

至少试一下先! – 0605002

+0

你尝试了什么?你为什么期望我们解决这个作业?你读过什么关于正则表达式? http://en.wikipedia.org/wiki/Regular_expression –

+0

我试过了。更新。 – babysnow

回答

3

只是要量词贪婪,这样它会尝试找到最长的匹配:

re.search(r"(?<=label\=\')[\d\w\s\' ]+(?=\')", text) 
#         ^^ 

这是否适用于你,取决于你的输入。

但如果这整个字符串或每个输入始终遵循模式label:'content',我只想在第一个冒号分割并删除引号:

content = text.split(':', 1)[1].strip("'") 
相关问题