2009-07-10 77 views
0

我必須承認,自從我的RegEx類已經過去幾年了,從那時起,我對它們做了很少的工作。所以我轉向SO的腦力。 。 。正則表達式幫助 - 查找/返回代碼

我有一個Excel電子表格(2007)與一些數據。我想搜索一個模式列(這裏是RegEx部分)。當我找到匹配項時,我想將找到的匹配項的一部分複製到同一行中的另一列。

源數據示例如下。每一行表示源中的單元格。

我正在尋找一個匹配「abms feature = XXX」的正則表達式,其中XXX是一個varibale長度單詞 - 它沒有空格,我認爲所有字母字符都是。一旦找到匹配,我想拋棄匹配的「abms feature =」部分,並將代碼(XXX部分)放入另一列。

我可以處理excel編碼部分。我只需要正則表達式的幫助。

如果您可以提供一個完全在Excel中完成此任務的解決方案 - 無需編碼,只需使用本機Excel公式和命令即可 - 我也希望聽到這一點。

謝謝!

################################### 
Structure 
abms feature = rl 

abms feature = sta 

abms feature = pc, pcc, pi, poc, pot, psc, pst, pt, radp 
font = 5    abms feature = equl, equr 


abms feature = bl 

abms feature = tl 

abms feature = prl 





font = 5 
################################### 

回答

0

嘗試此正則表達式:

abms feature = (\w+)

下面是如何從捕獲組提取的值的示例:

using System; 
using System.Text.RegularExpressions; 

class Program 
{ 
    static void Main() 
    { 
     Regex regex = new Regex(@"abms feature = (\w+)", 
      RegexOptions.Compiled | 
      RegexOptions.CultureInvariant | 
      RegexOptions.IgnoreCase); 

     Match match = regex.Match("abms feature = XXX"); 

     if (match.Success) 
     { 
      Console.WriteLine(match.Groups[1].Value); 
     } 
    } 
} 
0

(?<=^abms feature =)[a-zA-Z]*

假設你的逗號

+0

對不起,我打算在我的帖子中提到。不,我沒有在逗號後面用任何東西。 – DenaliHardtail 2009-07-10 18:17:44

1

我仍然在學習正則表達式我自己,但我發現這個地方有用得到的想法或比較什麼,我想出了,可能會在幫忙照顧你不這樣做的話什麼未來? http://regexlib.com/