2017-10-28 64 views
0

后弦“ - ”小数点后捕获字符串之前和串到名为捕获组

group1 2.3%/group2 4.-787%/group3 7.-65% 

我可以捕获数字很​​好(见HERE),但我希望能够在我捕获该组时清除“ - ”字符。 。

(\d+\.)-?(\d+)% 

接下来,您可以连接组1:例如,上面的字符串会导致

Group 'group 1': 2.3 
Group 'group 2': 4.787 
Group 'group 3': 7.65 
+1

你不能使用一个捕获组。不过,您可以在不同的组别中捕捉破折号的前后两部分。在捕获目标输入之前,为什么不用去除这些破折号来删除它们? – Bohemian

+0

As @Bohemian提到,使用正则表达式,如[**'(?<= \。) - (?= \ d)'**](https://regex101.com/r/LdO3z8/1/)和完全摆脱它们。 – Jan

回答

2

像波希米亚州,你可以前后与像一个正则表达式的破折号后捕获两个部分和2一起得到你的结果。

看看Example 1