我只想匹配「abcunit」,「hedhdunit」,「ewedfunit」等單詞,並使用正則表達式從文本文件進入數組。任何人都可以告訴我怎麼才能得到這個單詞。因此,我使用/(....unit)/g,但「單位」之前的字符數是不同的。任何人都可以告訴完美的正則表達式。任何幫助將不勝感激。Perl正則表達式匹配
單位:abcunit
單位:hedhdunit
單位:ewedfunit
單位:eedunit
我只想匹配「abcunit」,「hedhdunit」,「ewedfunit」等單詞,並使用正則表達式從文本文件進入數組。任何人都可以告訴我怎麼才能得到這個單詞。因此,我使用/(....unit)/g,但「單位」之前的字符數是不同的。任何人都可以告訴完美的正則表達式。任何幫助將不勝感激。Perl正則表達式匹配
單位:abcunit
單位:hedhdunit
單位:ewedfunit
單位:eedunit
你可以試試下面的正則表達式:
\b[a-z]+unit\b
解釋的正則表達式:
NODE EXPLANATION
--------------------------------------------------------------------------------
\b the boundary between a word char (\w) and
something that is not a word char
--------------------------------------------------------------------------------
[a-z]+ any character of: 'a' to 'z' (1 or more
times (matching the most amount possible))
--------------------------------------------------------------------------------
unit 'unit'
--------------------------------------------------------------------------------
\b the boundary between a word char (\w) and
something that is not a word char
嘿保羅。它是匹配這兩個詞導致兩個詞在comman中有單位。我怎麼才能得到第二個字。像abcunit – 2015-02-11 03:27:33
是的,我得到它謝謝保羅。 – 2015-02-11 03:32:46
不客氣。不要忘記,如果答案滿意地解決了您的問題,您可以[接受它](http://meta.stackoverflow.com/a/5235/227183)。 ;-) – 2015-02-11 03:35:55
以下應該做你所需要的。
my @matches = $str =~ /\b\w+unit\b/g;
您的意見和預期產出是什麼? – 2015-02-11 03:12:14
Hello Avinash,我的預期輸出是數組,逐行逐行排列。 – 2015-02-11 03:20:00
你的數據實際上是什麼樣的? – hwnd 2015-02-11 03:21:28