我想下面的文本群体分裂的权利:获得最正则表达式
---------------------------------------------------------------------------------------
1111.........................................................................US$ 124,85
1111........AAAAAAAAAAAAAAAAAAAAAAAAAAAAA....................................US$ 124,85
11111.......CCC.CCC..........................................................US$ 140,07
11111.......DDDDDDDDDD.......................................................US$ 157,33
---------------------------------------------------------------------------------------
我使用这个模式(fiddle)
/(\d{4,6})(\.\.+)(.+)(\.\.+)(US\$\s)(\d+)\,(\d{2})/g
这几乎是在做我想要什么,但产品(组3)的名称末尾有点(点应该在组4中)。我知道正则表达式有最长的规则,但即使尝试了很多我无法实现的规则。
编辑:
我忘了提及这个名字可能是一个空字符串,是什么驱使使用我的决定(。\ \ +)而不是(\ +) - 获得一个点作为名称。对于那个很抱歉。
您需要阅读产品名称,直到遇到点。所以[^。] +对于组3来说是最好的。更正:你的产品名称可能有'。'。让我以正确的答案回答。 –
针对组3的'[^。] +'不会正确捕获第2行的产品名称:'CCC.CCC' – Grokify
已更新我的答案,以查找空的产品名称。 – Grokify