使用Perl在句子中使用单词边界匹配单词的正则表达式?

时间:2012-04-18 10:59:07

标签: perl

他们是否可以将下一句中的单词与单词边界匹配,并且应该在单词的右侧或左侧与短语,braket,逗号,fullstop等单词匹配。

例如:

 $str = "The quick brown fox (jump) over the lazy dog yes jumped, fox is quick jump, and jump-up and jump.";

如何使用perl正则表达式匹配样本句子中'jump'一词的4次出现?

注意:我不想匹配'jumped'这个词。

4 个答案:

答案 0 :(得分:4)

my @words = $str =~ m{\bjump\b}g;
print "@words\n";

答案 1 :(得分:2)

  

单词边界(“\ b”)是两个字符之间的一个点   它的一边是“\ w”,另一边是“\ W”(两者之一)   顺序),计算假想的字符的开头和结尾   字符串匹配“\ W”。

- perldoc perlre > Assertions

foreach($str=~/\b(jump)\b/g){
    print "$1\n";
}

答案 2 :(得分:0)

print "$_\n" for $str =~ /\bjump\b/g;

答案 3 :(得分:0)

my @arr = $string =~ m{\bjump\b}g;
print "@arr\n";
相关问题