2012-04-18 51 views
1

他们是一种将下列句子中的单词与单词边界进行匹配的方式,并且应该在单词的右侧或左侧与短划线,脑袋,逗号,全屏等词相匹配。正则表达式使用Perl在一个句子中匹配单词边界的单词?

如:

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

我怎样才能使用Perl的正则表达式的样本句子4一次出现单词“跳”的匹配吗?

注:我不想匹配单词'跳'。

回答

2

词边界(“\ B”)是两个字符之间的点,其具有 “\ W”在它的一个侧面和“\ W”在它的另一侧(在任一 顺序),从 开始和结尾的虚数字符开始计数,该字符串与“\ W”匹配。

- perldoc perlre > Assertions

foreach($str=~/\b(jump)\b/g){ 
    print "$1\n"; 
} 
4
my @words = $str =~ m{\bjump\b}g; 
print "@words\n"; 
0
print "$_\n" for $str =~ /\bjump\b/g; 
0
my @arr = $string =~ m{\bjump\b}g; 
print "@arr\n"; 
相关问题