2013-10-03 209 views
4

删除圆括号我有一个字符串正则表达式从字符串

String s="[[Identity (philosophy)|unique identity]]"; 

我需要将其解析到。

s1 = Identity_philosphy 
s2= unique identity 

我曾尝试下面的代码

Pattern p = Pattern.compile("(\\[\\[)(\\w*?\\s\\(\\w*?\\))(\\s*[|])\\w*(\\]\\])"); 
    Matcher m = p.matcher(s); 
while(m.find()) 
{ 
.... 
} 

但是这种模式并不匹配..

请帮助

感谢

+0

你需要插入那里曾经是括号中的下划线?如果是这样,这样做的具体规则是什么? –

回答

0

您是否尝试过使用这样的事情帮你? RegExr

使用该网站我能够创建一个模式,将准确匹配你想要的。

这将在该网站上的工作:(\[\[)|(\()|(\))|(\|)|(\]\])

插入双反斜线为它在Java工作:(\\[\\[)|(\\()|(\\))|(\\|)|(\\]\\])

+0

欢迎来到Stack Overflow!由于这篇文章没有提供问题的实际答案,因此更适合作为评论。我已经标记过它适当地移动 - 一旦你得到50代表,你将能够发表评论自己。 –

+0

它会更适合评论是的,但正如你指出的我不能这样做...... – user2823723