正则表达式用于在2个特定组合之后进行拆分

时间:2015-07-03 12:10:05

标签: c# regex

我必须分割一串看起来像这样的数字:-3-5,4-5,-2--4,4--6。基本上我需要总是通过" - "在第一个数字字符之后。

3 个答案:

答案 0 :(得分:1)

您可以使用以下表达式:(?<=\d)-(示例here

String numbers = "-3-5, 4-5, -2--4, 4--6";
    for(String number : numbers.split("(?<=\\d)-"))
        System.out.println(number);

产量

-3
5, 4
5, -2
-4, 4
-6

我猜你可能需要按,分割才能获得个别数字。

答案 1 :(得分:0)

这样的事可能吗?

#!/usr/bin/env perl
use strict;
use warnings;

use Data::Dumper;

my $string = '-3-5, 4-5, -2--4, 4--6';

my %extract = ( $string =~  m/([-\d]+)-([-\d]+)/g );

print Dumper \%extract;

给出:

$VAR1 = {
          '4-' => '6',
          '-2-' => '4',
          '-3' => '5',
          '4' => '5'
        };

答案 2 :(得分:0)

(?<=\d)-(?=-|\d)

你可以这样拆分。参见演示。

https://regex101.com/r/cK4iV0/14