Regex 正则表达式问题解析数据

Regex 正则表达式问题解析数据,regex,Regex,我目前有以下正则表达式: (\d{7})\s(\d{2}\/\d{2}\/\d{4})\s([a-zA-Z\-\s\&\#\,\'\.\/\(\)\d]*)\s(\d+[\w\.\/\#]*)\s([a-zA-Z\/\&\s\d\*\-]*\d{0,1}\.{0,1}\d*[a-zA-Z]*)\s([a-zA-Z]*[\d+\.{0,1}\-{0,1}\d]+[a-zA-Z]*)\s(\d+)\s([a-zA-Z]*[\d+\.{0,1}\-{0,1}\d]+[a-zA-Z\s]

我目前有以下正则表达式:

(\d{7})\s(\d{2}\/\d{2}\/\d{4})\s([a-zA-Z\-\s\&\#\,\'\.\/\(\)\d]*)\s(\d+[\w\.\/\#]*)\s([a-zA-Z\/\&\s\d\*\-]*\d{0,1}\.{0,1}\d*[a-zA-Z]*)\s([a-zA-Z]*[\d+\.{0,1}\-{0,1}\d]+[a-zA-Z]*)\s(\d+)\s([a-zA-Z]*[\d+\.{0,1}\-{0,1}\d]+[a-zA-Z\s]*)\s([\(\d\,]*\.\d+[\)]*)\s([\(\d\,]*\.\d+[\)]*)\s([\(]*\${1}[\d\.\,\)]*)\s([a-zA-Z\s\$\.\d\/]*)\s([\(]*\${1}[\d\,]+\.\d{0,2}[\)]*)(\d+)
正在分析的输入字符串是:

6655738 03/31/2017 OTTER CREEK COUNTRY STORES, INC RICHS 72/ 2.5 OZ DONUT JUMBO RING 03853 989200 00049800038530 1.00 12.90 $21.21 $2.00 Per Unit $2.00109830
第三组返回
OTTER CREEK COUNTRY STORES,INC RICHS 72/
,而我只想要
OTTER CREEK COUNTRY STORES,INC RICHS


有人能告诉我如何在正则表达式中进行更改以实现这一点吗?

您的第三组是:
([a-zA-Z\-\s\&\\\\\\,\'.\/\(\)\d]*)
,其中包括数字和斜线。如果你不想要这些,就把它们放在小组之外


但正确的解决方案取决于输入字符串的格式。也许第三组具有长度依赖关系-那么您的regexp需要有不同的设置

你用什么语言?(在没有指定语言、工具或正则表达式引擎的情况下,不要问正则表达式问题。我在一个使用java.util.regexThank的工具中使用了它,感谢您的回答。不依赖于长度。第三组应该是我已经提到的。第四组应为72/2.5盎司。不确定如何获得。