2012-06-07 50 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,所以我需要忽略中间的字符串。我在简单事件协调器中编写正则表达式。 –

相关问题