2012-04-18 66 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"; 
相關問題