2011-08-15 233 views
2

我試圖解析這個字符串的所有文字:找到包含在單引號(字符,數字,特殊字符)

:P0 = 'R'[類型:String(0)]:P1 = 'Y' [類型:String(0)],:P2 = 'HBP00'[類型:String(0)],:P3 = 'MAG.PF'

,我已經想出這個表達式對我來說效果很好:

:p\d*\b\s=\s'\w{1,}' 

基本上我是試圖匹配的所有參數和值:

  • :P0 = 'R'
  • :P1 = 'Y'
  • :P2 = 'HBP00'
  • :P3 =「MAG.PF 「

,但我已經注意到了表達不上工作:P3事業點,我想。
我似乎無法找到一種方法來獲取單引號中包含的所有文本。

感謝您的幫助。

UPDATE:

我混合了一些信息,我來到這裏,並且對我的作品的人似乎是:

:p\d*\s=\s'[^']+' 
+1

此外,字邊界轉義序列('\ B')是不必要的 –

回答

3

我不知道C#正則表達式的語法非常好,但您應該

  • 包括」。「字符(像:p\d*\b\s=\s'[\w\.]+'),或
  • 接受任何字符排除單引號(像
    :p\d*\b\s=\s'[^']+'
+0

這一個似乎工作得很好。 – LeftyX

1

試試這個正則表達式:

:p\d*\b\s=\s'[\w\.]{1,}' 

這將包括。字符。如果您需要擴展表達式以包含更多字符,請嘗試在括號之間添加它們。

+0

感謝您的回覆。它效果很好,但並不匹配所有字符:這種情況不會被困'':p4 ='MAG/PF',我不知道那個字符串會是什麼字符,可能幾乎是任何字符 – LeftyX

1

對於上面的例子::p\d*\b\s=\s'[\w\.]{1,}'應該做的伎倆。而不是僅查找單引號之間的單詞字符,而是查找單詞字符&「點」字符。如果您需要搜索其他特殊字符,可以將它們添加到方括號欄[\w\.],例如[\w\.\?]將搜索字的字符,點,和一個問號

例如:http://regexr.com?2uf6v

+0

謝謝你的解決方案我不知道我將來可能添加哪些字符原因它可以是幾乎任何東西。 – LeftyX