正则表达式 – 有没有可能的方法来匹配第n个字符?
发布时间:2020-12-14 05:37:47 所属栏目:百科 来源:网络整理
导读:参见英文答案 How can I extract the nth occurrence of a match in a Perl regex?????????????????????????????????????7个 我的输入数据如下.我想把这个词分组在 – 的第6和第7位之间. my $sa = "a1a1a1-b1b1b1-c-ddd-eee-fff-gggggg-hHhH-iiii-j-KKKKK";
参见英文答案 >
How can I extract the nth occurrence of a match in a Perl regex?????????????????????????????????????7个
我的输入数据如下.我想把这个词分组在 – 的第6和第7位之间. my $sa = "a1a1a1-b1b1b1-c-ddd-eee-fff-gggggg-hHhH-iiii-j-KKKKK"; 为此,实际的正则表达式是 /[^-]+-[^-]+-[^-]+-[^-]+-[^-]+-([^-]+)-/ 为了构建正则表达式,我尝试如下, my $avc = "[^-]+-" x 5 . "([^-]+)-"; my $ar = qr"$avc"; $sa =~m/$ar/g; print $1; 我怀疑,正则表达式中是否有任何选项可用.不使用x.我怎么能在一个正则表达式中做到这一点? 解决方法
使用
limiting repetition quantifier
/(?:[^-]+-){5}([^-]+)-/ Regex explanation here. 捕获组可以在重复组内,只有最后一个被捕获. /(?:([^-]+)-){6}/ Regex explanation here. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |