Regex用于在2个特定组合后进行拆分

本文关键字:拆分 组合 用于 2个 Regex | 更新日期: 2023-09-27 18:00:54

我必须拆分一个数字字符串,它可以是这样的:-35,4-5,-2-4,4-6。基本上,我需要总是用第一个数字字符后的"-"分隔。

Regex用于在2个特定组合后进行拆分

您可以使用以下表达式:(?<='d)-(此处为示例(

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

我想你可能需要除以,才能得到单个数字。

可能是这样的吗?

#!/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'
        };
(?<='d)-(?=-|'d)

你可以通过这个分开。请参阅演示。

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