我在一堆变化很大的字符串上使用 .match()
. 我想从字符串中获取括号内的最后一个数字,然后从那里得到所有内容 . 例如:
1 serving (57.0 g)
1 slice, small (2" x 2-1/2" x 1-3/4") (32.0 g)
成为一个阵列:
['1 serving', '57.0 g']
['1 slice, small (2" x 2-1/2" x 1-3/4")', '32.0 g']
各种字符串的列表:http://regex101.com/r/jJ5sF3/1
我一直在努力写一个捕获这个的正则表达式 .
4 回答
使用这种模式
Demo
尝试正则表达式
(.*?)
- 对最后一个()
集之前的所有字符进行分组\s*\(
- 在文本内容和(
之后分隔空格([.\d\sg]*?)
分组最后()
内的内容试试这个 . 看看演示 .
http://regex101.com/r/jJ5sF3/3
试试这个正则表达式字符串,我可以在你的情况下在regex101中运行它 .