字符串“(中国),(中国,大陆),(香港)”如何使用正则表达式匹配括号里的信息

天冰 发布于 2013/05/14 10:14
阅读 828
收藏 1

有这样的字符串

“(中国),(中国,大陆),(香港)”

使用(.*)会全部匹配,但希望得到是括号里面的字符串

求大神 给个逐个匹配的正则表达式

加载中
0
小宏

正则主要是用来处理英文字符。个人感觉这个不适合使用正则来解决这个问题。字符串分割函数可能更适合。。。。

下面是我使用js的示范的一段代码

<script>
      var str="(中国),(中国,大陆),(香港)";
      var rep_str=str.replace(/(\(\))/g,'');
      var A_str=rep_str.split(",")
      console.log(A_str);
</script>

0
leo108
leo108
(\(.+?\))
0
恺哥
恺哥

把()repace掉,然后用, split就行

0
VincentTone
VincentTone

/\((.+?)\)/
这里主要需要注意的是贪婪模式

0
pfdoschina
pfdoschina
var str = "(中国),(中国,大陆),(香港)";
var reg = /(\(.*?\))/g;
alert(str.match(reg).join("\n"));
0
pseudo
pseudo

这是用回溯的正则的java实现:

String input="(你好)(中国),(中国,大陆),(香港)";

        String regexp="(?<=\\().*?(?=\\))";
        Pattern p = Pattern.compile(regexp);
        Matcher m = p.matcher(input);
        while(m.find()) {
            System.out.println(m.group());
        }
返回顶部
顶部