我的输入数据如下.我想把这个词分组在第6和第7位之间-.
my $sa = "a1a1a1-b1b1b1-c-ddd-eee-fff-gggggg-hHhH-iiii-j-KKKKK";
Run Code Online (Sandbox Code Playgroud)
为此,实际的正则表达式是
/[^-]+-[^-]+-[^-]+-[^-]+-[^-]+-([^-]+)-/
Run Code Online (Sandbox Code Playgroud)
为了构建正则表达式,我尝试如下,
my $avc = "[^-]+-" x 5 . "([^-]+)-";
my $ar = qr"$avc";
$sa =~m/$ar/g;
print $1;
Run Code Online (Sandbox Code Playgroud)
我怀疑,正则表达式中是否有任何选项可用.不使用x.我怎么能在一个正则表达式中做到这一点?
使用限制重复量词
/(?:[^-]+-){5}([^-]+)-/
Run Code Online (Sandbox Code Playgroud)

捕获组可以在重复组内,只有最后一个被捕获.
/(?:([^-]+)-){6}/
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |