我有很长的搜索字符串(剪切):
s := `<option value='1'>Name A</option><option value='2'>Name B</option><option value='3'>Name C</option><option value='4'>Name D</option><option value='5'>Name E</option><option value='6'>Name F</option><option value='7'>Name G</option>`
我想搜索值和名称:
re := regexp.MustCompile(`ue='([0-9]+)'\>(.+)\</o`)
arr := re.FindAllStringSubmatch(s, -1)
该函数不返回我需要的值,而是返回
[[ue='1'>Name A</option><option value='2'>Name B</option><option value='3'>Name C</option><option value='4'>Name D</option><option value='5'>Name E</option><option value='6'>Name F</option><option value='7'>Name G</o 1 Name A</option><option value='2'>Name B</option><option value='3'>Name C</option><option value='4'>Name D</option><option value='5'>Name E</option><option value='6'>Name F</option><option value='7'>Name G]]
请帮助,以便更像
[[ue='1'>Name A</o 1 Name A][ue='2'>Name B</o 2 Name B][... etc
我检查了罪魁祸首(。+),但它总是无法返回预期的一个,它扩展到字符串的末尾。
答案 0 :(得分:-1)
此question不同,但答案适合我的问题。
我将(.+)
替换为([^\<]+)
,以便最后一行
re := regexp.MustCompile(`ue='([0-9]+)'\>([^\<]+)\<`)