2015-10-15 70 views
2

使用C#正則表達式我試圖匹配包含@符號的標記。例如:正則表達式匹配一個數字標記,但只有在不屬於另一個字的情況下

這個月你的工資是@ 1。

因爲\b相匹配的開始和單詞的結束和@1正確不被識別爲一個字,我不能使用像\[email protected]\b的模式。

我可以用什麼模式來匹配這樣的令牌,例如@1@2等?

+0

目前尚不清楚你想要應用哪些規則,但是可能沿着'(^ | \ s)@ \ d \ b'的線是什麼?或者'\ W'而不是'\ s'?再次,目前還不清楚你的意圖是什麼。 –

+0

你的*代幣*分隔符是怎樣的?由空白?標點?等等 –

回答

2

您可以使用環視(?<!\w)(=之前不允許使用單詞字符)和(?!\w)(=之後不允許使用單詞字符)。

(?<!\w)@\d+(?!\w) 

regex demo

注意\d+匹配1個或多個數字。

相關問題