java中使用正则表达式获取字符串数组中含有字符[ ]的字符串,将得到的内容用字符串term表示

 我来答
匿名用户
推荐于2016-03-22
展开全部


import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class JButtonTest
{
public static void main ( String[] args )
{
String input = "abc[1]dd[a-b]df[3.b]";
String regex = "\\[[^\\[\\]]*\\]";
Pattern pattern = Pattern.compile (regex);
Matcher matcher = pattern.matcher (input);
while (matcher.find ())
{
System.out.println (matcher.group ());
}
}
}
更多追问追答
追问

谢谢,可是这个得到的是[]里面的内容,我想得到的是,如果这个字符串中包含[],则将汉字提出来,如:

我想要得到的是

安全

安全管理

安全监测

追答


import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class JButtonTest
{
public static void main ( String[] args )
{
String input = "安全*[5.1]sdfs安全管理[5.6.1]";
String regex = "([\u4e00-\u9fff]+)[^\\[\\]]*\\[[^\\[\\]]*\\]";
Pattern pattern = Pattern.compile (regex);
Matcher matcher = pattern.matcher (input);
while (matcher.find ())
{
System.out.println (matcher.group (1));
}

input = "安全*[5.1]";
System.out.println (input.replaceAll (regex, "$1"));
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式