如何从此字符串('type=weaksubj len=1 word1=abandonment pos1=noun stemmed1=n priorpolarity=negative')
中提取放弃?
一种可能的方法是 -
(这是一个python代码)
regexp = re.findall("word1=[a-zA-Z0-9]*",string)
但在结果中我得到了
['word1=abandonment']
如何修改正则表达式,以便我不会得到' word1' 的结果。 可以使用python中的任何字符串函数删除' word1' ,但我希望修改我的正则表达式。
答案 0 :(得分:1)
您需要将要返回的组包装在括号中,然后查找组(在本例中为0)。
res= re.search("word1=([a-zA-Z0-9]+?)",mystring)
whatyourelookingfor = res.group[0]
答案 1 :(得分:0)
如果键值对是唯一的,并且始终具有相同的格式,则可以通过拆分和创建字典来获得无需正则表达式所需的结果:
s = 'type=weaksubj len=1 word1=abandonment pos1=noun stemmed1=n priorpolarity=negative'
dct = dict([x.split("=") for x in s.split()])
print(dct) # => {'stemmed1': 'n', 'len': '1', 'word1': 'abandonment', 'priorpolarity': 'negative', 'type': 'weaksubj', 'pos1': 'noun'}
print(dct['word1']) # => abandonment
请参阅IDEONE demo