2011-06-07 48 views
2

我想匹配的東西,如結束的行:這是C中的合法正則表達式模式嗎?

blocking=12345us 

我試圖匹配的模式是:

char *pattern = "blocking=(\\d{1,})us"; 

我都只有一個blackslash以防萬一試了一下但仍然沒有運氣。

如果我改變該行:

char *pattern = "(.*)"; 

它匹配罰款...

我還當我編譯regcomp要麼格局沒有得到一個錯誤()。

所以我假設我的正則表達式是錯誤的,但它在Python中工作正常,我不知道還有什麼可以嘗試。我編譯正則表達式:

regcomp(&regex,pattern,REG_EXTENDED) 

感謝您的幫助!

+0

如果更換它能做什麼'{1,}'和'+'和'\\ D'和' [:數字:]]'? – Benoit 2011-06-07 07:48:47

+5

'「blocking =」'不會匹配'「block =」' – leppie 2011-06-07 07:48:51

+1

爲什麼你將「阻止」與「阻止」文本匹配? – MBO 2011-06-07 07:49:31

回答

0

\d不是根據this page的正則表達式規範的一部分。

考慮更換爲[[:digit:]]