2012-06-07 67 views
0

我需要一個正則表達式來匹配部分字符串。例如,下面的字符串需要匹配兩個分隔符之間的任何字符串

Fault,10.224.2.3:4450,XX_XXX0039_XX.XX/0,AA,BBBBBB 

我想匹配整個字符串並提取Fault,10.224.2.3:4450AA,BBBBBB。但是,我想忽略,XX_XXX0039_XX.XX/0,

請注意,要忽略的字符串包括分隔符,逗號(,)。忽略字符串可能包含以下字符:

./_0-9A-Za-z 

的期間(.)的位置不是固定的。我想忽略模式的其他例子是:

  • ,XX_XXX0039_XX.XX/0,
  • ,XX_XX0039_XXXXX/1,
  • ,X_XX0039_X/4,

我使用正則表達式的簡單事件協調員。

+0

什麼正則表達式你試過嗎?另外,你在用什麼語言編寫正則表達式? – creemama

+0

它看起來像一切都在逗號之間 - 什麼將你想要的與你不想要的區分開來? – Ansari

+0

因此,如果我理解正確,每行都包含兩個雙定界符(「,,」),並且您想從行中刪除'/,,.*?,,'? 「忽略」是什麼意思?另外,您是否可以使用PCRE,或者我們是否在BRE或ERE中提供解決方案? – ghoti

回答

0

(\ w + \ d + \ d + \ d + \ d +:。\ d +)。*?(\ w + \ w +)

+0

Applogies如果我感到困惑,但想要匹配一個字符串,例如Fault,10.224.2.3:4450,XX_XXX0039_XX.XX/0,AA,BBBBBB。但問題是XX_XXX0039_XX.XX/0不是常量,我可以匹配Fault,10.224.2.3:4450和AA,BBBBBB,所以我需要忽略中間的字符串。我在簡單事件協調器中編寫正則表達式。 –

+0

非常感謝我得到正則表達式的字符串如下:Fault,\ d + \。\ d + \。\ d + \。\ d +:\ d +,[\ w - ] +,。*?,AA,BBBBB –

0

最好是避免你的分隔符,

正則表達式:

[^,]+

結果:

 [0] => XX_XXX0039_XX.XX/0 
     [1] => 
     [2] => XX_XX0039_XXXXX/1 
     [3] => 
     [4] => X_XX0039_X/4 
+0

或'[^,\ s] +'如果字符串不包含空格字符 – Jeff

+0

Applogies如果我感到困惑,但想匹配一個字符串,例如Fault,10.224.2.3:4450,XX_XXX0039_XX.XX/0,AA,BBBBBB。但問題是XX_XXX0039_XX.XX/0不是常量,我可以匹配Fault,10.224.2.3:4450和AA,BBBBBB,所以我需要忽略中間的字符串。我在簡單事件協調器中編寫正則表達式。 –

相關問題