新手,求教一个正则式.

新手,求教一个正则式.

$line="key1=content1,key2=content2,key3=content3,.....keyn=contentn.";
content*有可能为空.
如何得到content1 content2 ...contentn.
看不明白你要达到什么效果!
终于试出来了,主题没表述清楚,其实就是提取出content字段.

[Copy to clipboard] [ - ]
CODE:
while ( $line =~ /,?(\w+)=(.*?)(,|\.)/g) {
                        print $2,"\n";
                }

regular expression 看得偶头晕...   


QUOTE:
原帖由 jcool 于 2007-11-12 17:10 发表
regular expression 看得偶头晕...   

学perl之前我也是这样.
简化一下吧:>

while ($line =~ /=(.*?)[,.]/g) {
    print "$1\n";
}
俺是新手,可否点拨一下
(.*?)
是怎么匹配
cotentn
的?句号加上干吗?还有*不是就把它们全部匹配了吗?
要是我写就(\w+)了
.*? 为非贪婪匹配
由于“content*有可能为空”,所以使用\w+匹配不一定能正确的匹配
谢谢