2012-11-08 18 views
0

我具有低於字符串:C#的Regex - 第圖案XXX XXX ||(雙管之前和之後的文本)

"g1_fim[7,8] || '/' || g1_fim[5,6] || '/' || g1_fim[1,4] dt_final, campo1, campo2 WHERE **d1_fim || d2_teste** = 'sadasd'" 

我倒是等的正則表達式X || X(文本匹配之前和後雙管)

結果應該是類似這兩場比賽的東西:

1. g1_fim[7,8]||'/'||g1_fim[5,6]||'/'||g1_fim[1,4] 
2. d1_fim||d2_teste 

從來就試圖用這句話.*?(\|\|).*?(?=\s)

弼的結果是:

1. g1_fim[7,8]||'/'||g1_fim[5,6]||'/'||g1_fim[1,4] (its ok !!!) 
2. dt_final, campo1, campo2 WHERE d1_fim||d2_teste (it´s not ok, I´d like to return here only the 'd1_fim||d2_teste') 
+0

我不認爲這是一個C#問題。網絡上有幾個正則表達式測試器,您可以嘗試爲您的字符串找到正確的正則表達式。 – Davio

+0

你有什麼嘗試過,看看'輸入'和'輸出'在你的問題..有幫助! – Anirudha

+0

我編輯了我的問題,請看看。 – will

回答

1

請問這方面的工作:\S+(?:\s*\|\|\s*\S+)+

+0

是的。它爲我工作....很多。 – will

0

我看來像你需要的第一個「字」,直到空白,然後WHERE和=之間有什麼。基本上我的建議是在這種情況下尋找更容易的模式匹配標準。

+0

不,因爲它可以在雙管道之間有空格,請查看我編輯的問題。 – will

相關問題