regex - perl : how to split?

标签 regex perl split substr

我有一个字符串 aa:bb::cc:yy:zz需要以这样一种方式拆分,即我有一个带有 aa:bb::cc 的数组, yy , zz .即我想用 : 从最后创建两个子字符串作为分隔符并保留为数组的元素。实现这一目标的最佳方法是什么?

前任:

aa:bb::cc:yy:zz --> ['aa:bb::cc','yy','zz']

dd:ff:gg:dd:ee:ff:fg --> ['dd:ff:gg:dd:ee','ff','gg']

我将 IP 地址:端口:协议(protocol)作为 key 存储在文件中,并用“:”拆分以获取 IP、端口、协议(protocol),当 IP 地址限制为 Ipv4 时,一切正常。现在我想让它移植到 IPv6,在这种情况下 IP 地址包含“:”,所以我无法通过用“:”拆分来获得正确的 IP 地址。

最佳答案

怎么样:

#!/usr/local/bin/perl 
use Data::Dump qw(dump);
use strict;
use warnings;

my $x = 'dd:ff:gg:dd:ee:ff:fg';
my @l = $x =~ /^(.*?):([^:]+):([^:]+)$/g;
dump @l;

输出:
("dd:ff:gg:dd:ee", "ff", "fg")

关于regex - perl : how to split?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7334363/

相关文章:

java - 匹配双引号但不匹配反斜杠双引号的正则表达式

php - 从数组中删除与正则表达式不匹配的元素

regex - 如何在 sed Replace 命令中传递可变行号

c++ - 使用 boost split 方法时可以使用字符串作为分隔符吗?

javascript - 正则表达式将Javascript中的字符串拆分为多个字符串的逻辑

sql - 在 t-sql 中查找匹配模式后的子字符串

php - 这个PHP函数有什么问题

perl - ElasticSearch (search_context_missing_exception) 与 Search::ElasticSearch::Scroll

即使文件未丢失,Perl 可执行文件也会崩溃

java获取字符串中的下几个单词