2012-10-10 32 views
0

我有多個文本文件。我需要從下面的代碼值'UA-8798837-1'(沒有qoutes)。 因此,步驟將是:使用c搜索文本文件中的模式#

  1. 打開文本文件abc.txt。
  2. 搜索從"_gaq.push".
  3. 開始。如果模式匹配,我會跳過幾個字符"(['_setAccount', ".
  4. 的模式選擇關鍵'UA-8798837-1'(不含引號)。
  5. 將這個關鍵值保存在一個名爲「key」的變量中。

文本文件的代碼 - :

<script type="text/javascript">//<![CDATA[ 
    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-8798837-1']); 
<script> 

所以基本上我需要尋找一個模式,如果被發現我需要跳過幾個字符來選擇一個代碼就是人品「」後「並複製該值直到再次找到字符」'「。 選擇開始於字符" ' "'UA-8798837-1'並結束於字符" ' "值爲UA-8798837-1。 請告訴我該怎麼做。提前感謝。

+0

我相信所有Google Analytics代碼都以「UA-」開頭。如果這是真的,你可能可以簡化搜索以查找該文本並抓取所有內容,直到出現''''或'''字符。 –

回答

0

這是一個非常簡單的正則表達式:

/\[\'_setAccount\', \'(.+)\'/

你可以看到匹配組將是什麼樣子here.

而如果你還沒有使用正則表達式在C#中工作過,this是一個入門的好地方。由於您想要使用多個匹配項,因此this link可能更加相關。

+0

但是如何選擇那個值請使用UA-8798837-1 c#代碼。 – user1609429

+1

我不會爲你編寫程序,我已經提供了可以幫助你的鏈接,如果你對你遇到的問題有特定的問題,然後回來,我懷疑你會在這裏找到任何人爲你做一切事情。 –

0

我認爲你正在尋找這個表達式:

(?<=_gaq\.push\(\['_setAccount',\s')(.*)(?=') 

如果將始終是這種情況,你可以使用正則表達式來匹配您正在尋找 的關鍵。

但是我不會給你用C#代碼獲取它的代碼,請讓我知道你嘗試了什麼。謝謝。

希望它有幫助。