我遇到了如何使用正则表达式的问题,并且它已经半天搜索命令了,我希望有人可以帮我解决这个问题。
字符串:
ProductTable ChairStyleNewproductLocationUnited Kingdom
我想要的是,获取字词:Table Chair
,Newproduct
,最后一个是United Kingdom
。仅供参考,字符串中的空格很少。
谢谢
答案 0 :(得分:2)
您必须发布更多输入,因为您的数据格式现在很模糊......
但我还是试着回答:
^\s*Product(.+?)Style(.+?)Location(.+?)\s*$
您的信息位于3个捕获的群组中。在我知道您正在使用的语言之前,我无法说出更多内容。
编辑:在JS中:
var re = /^\s*Product(.+?)Style(.+?)Location(.+?)\s*$/gm;
var inputString = "ProductTable ChairStyleNewproductLocationUnited Kingdom";
// Add another line of data
inputString += "\nProductDeskStyleOldproductLocationGermany";
var match;
while((match = re.exec(inputString))) {
console.log({
product: match[1],
style: match[2],
location: match[3]
});
}
答案 1 :(得分:0)
在Python中:
>>> import re
>>> exp = r'^Product(?P<product>(.*?))Style(?P<style>(.*?))Location(?P<loc>(.*?))$'
>>> i = "ProductTable ChairStyleNewproductLocationUnited Kingdom"
>>> results = re.match(exp, i).groupdict()
>>> results['loc']
'United Kingdom'
>>> results['product']
'Table Chair'
>>> results['style']
'Newproduct'