2014-06-27 16 views
1

我想匹配oData字符串,就像^\$skip=[0-9]$那樣匹配諸如$skip=3之類的內容並將其刪除。我的正則表達式可能是錯誤的,但我不知道接下來要做什麼。我已經嘗試過各種東西,如在[]等等中包裝它。

這是一個在線的例子:http://www.regexr.com/392m2

+0

什麼是你的語言? –

+0

@Fede我的語言是c#。它仍然不起作用:| – sed

+0

你的例子在行首包含一個問號,但是你的正則表達式沒有考慮到這個問題。除去問號後,你的正則表達式工作正常。 – vcsjones

回答

1

您正在使用^\$skip=[0-9]$。這個正則表達式只會匹配具有該模式的行。該行必須以$skip=N開始和結束,所以,這就是爲什麼你的測試不起作用。

如果您$跳過= 3,從你的話中分離,你可以使用:

\b\$skip=\d+\b 

以上只會匹配,如果您有:blabla blab bla $skip=3 bla

如果你只是想刪除它的出現,你可以使用\$skip=\d+

\$skip=\d+ 

Regular expression visualization

Debuggex Demo

,如果你有上面會匹配:blabla blab bla$skip=3bla

+0

是的,我需要'\ $ skip = \ d +',因爲如果我有'$ skip = 299',我的方法不起作用。謝謝。 – sed

+0

@Steve樂於提供幫助 –

1

如果要匹配skip=3然後嘗試下面的正則表達式,

(?<=\$).*$ 

正回顧後用於匹配所有的字符緊挨着字面$符號。

DEMO

OR

你可以使用\K,丟棄previuosly匹配的字符。

\$\K.*$ 

DEMO

OR

^\?\$\Kskip=[0-9]$ 

DEMO