Regex 用于在冒号(:)之间拆分字符串的正则表达式
我有一个类似Regex 用于在冒号(:)之间拆分字符串的正则表达式,regex,perl,Regex,Perl,我有一个类似的字符串,假设字符串中总是有五个冒号,我建议您这样做 use strict; use warnings 'all'; use feature 'say'; my $s = '<str1:str2:str3:str4:str5:;'; my $re = '([^<>:;]*):' x 5; $re = qr/<$re;/; if ( $s =~ $re ) { no strict 'refs'; say ${$_} for 1 .. 5;
的字符串,假设字符串中总是有五个冒号,我建议您这样做
use strict;
use warnings 'all';
use feature 'say';
my $s = '<str1:str2:str3:str4:str5:;';
my $re = '([^<>:;]*):' x 5;
$re = qr/<$re;/;
if ( $s =~ $re ) {
no strict 'refs';
say ${$_} for 1 .. 5;
}
您是否考虑了String?S拆开(“:”)?您的字符串是否真的从一个小于符号开始,以冒号和分号结尾?我不能在这里使用java。我们使用的是内部团队开发的工具。我们必须将这个正则表达式指定为XML元素的属性之一。在分号之后,我们也得到了一些字符。如果你不能使用Java,为什么要用Java标记呢?您可以使用Perl吗,或者是因为Perl是pcre正则表达式而使用Perl标记的吗?在这种情况下,请删除您的问题,删除java和perl并添加pcre。非常感谢。
use strict;
use warnings 'all';
use feature 'say';
my $s = '<str1:str2:str3:str4:str5:;';
my $re = '([^<>:;]*):' x 5;
$re = qr/<$re;/;
if ( $s =~ $re ) {
no strict 'refs';
say ${$_} for 1 .. 5;
}
str1
str2
str3
str4
str5