匹配我做的模式匹配下面一些名字:模式在Perl
ABCD123_HH1
ABCD123_HH1_K
現在,我的代碼到grep上面的名字是如下:
($name, $kind) = $dirname =~ /ABCD(\d+)\w*_([\w\d]+)/;
現在,我面臨的問題是,我得到,ABCD123_HH1_K
的$dirname
這兩種模式。但是,我的變量$kind
不包含此ABCD123_HH1_K
。它確實需要ABCD123_HH1
模式。
欣賞你的時間。你能告訴我可以做些什麼來獲得與_k
模式。
那豈不是更好地使用'(_K)'而不是'(_K)*'避免匹配'_K'的多個實例? (根據OP的需求,我猜)。 – 2013-03-08 19:16:32
@PhilipKendall據我瞭解,他的字符串有「_K」或者沒有,所以我認爲它沒有改變任何東西。無論如何,你的解決方案會更好,但我會編輯:) – alestanis 2013-03-08 19:17:23
謝謝你alestanis和philip。所以,我應該添加我的代碼如下:($ name,$ kind)= $ dirname =〜/ ABCD(\ d +)\ w * _([\ w \ d] +)(_ K)/;讓我試試btw我是「她」:) – user1985039 2013-03-08 19:20:33