如何提取逗号分隔句中的最后一个单词

时间:2013-10-03 11:58:45

标签: regex perl

ChainCtrlT* pChainCtrl, RouteListItemT* pRoute, char dst_chain, char *jpg_file_path

我希望输出只是最后一句话:

pChainCtrl
PRoute
dst_chain
jpg_file_path

应该使用正则表达式命令

3 个答案:

答案 0 :(得分:2)

怎么样:

my @list = $str =~  /(\w+)(?:,|$)/g

答案 1 :(得分:2)

my @arr = map /(\w+)$/, split /\W*?,\W*/, $str;
print map "$_\n", @arr;

答案 2 :(得分:2)

此程序的工作原理是在逗号上拆分字符串,然后从每个段中取出最后一串 word 字符。

use strict;
use warnings;

my $str = 'ChainCtrlT* pChainCtrl, RouteListItemT* pRoute, char dst_chain, char *jpg_file_path';

my @identifiers = map /(\w+)\W*\z/, split /,/, $str;

print "$_\n" for @identifiers;

<强>输出

pChainCtrl
pRoute
dst_chain
jpg_file_path

使用单个正则表达式也可以这样做,比如

my @identifiers = $str =~ /(\w+)\W*(?:,|\z)/g;