A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jingzhouheima 中级黑马   /  2013-8-24 10:36  /  883 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 jingzhouheima 于 2013-8-31 23:35 编辑

package com.horizon.basejava;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Regex
{
          public static void main(String[] args)
         {
              regspilt();
         }
        private static void regspilt() {
                String str = "sd哈呀国际gh";
                //int n = 2;
                //String regex = "(.)\\1{"+n+"}";
                String regex = "(.)\\1{2}";
                Pattern p = Pattern.compile(regex);//将规则封装成Pattern对象
                Matcher m = p.matcher(str);//将规则与要作用的字符串向关联
                while(m.find());//先去找,找到的结果会自动放在group()中
                {
                        System.out.println(m.group());
                }        
}

我的想法是:从"sd哈呀国际gh"中按字节数截取一部分,但不能截取出半个中文
我想用正则的方法做...........


程序运行的结果是:
Exception in thread "main" java.lang.IllegalStateException: No match found
        at java.util.regex.Matcher.group(Matcher.java:468)
        at java.util.regex.Matcher.group(Matcher.java:428)
        at com.horizon.basejava.Regex.regspilt(Regex.java:24)
        at com.horizon.basejava.Regex.main(Regex.java:13)

----------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------求分析思路-----------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

3 个回复

正序浏览
{:soso_e176:}
亲,请问下问题是否解决?
如果已解决请及时将未解决改为已解决
如果未解决请回帖追问
三天未回复的将视为已解决
详情参考:如何更改分类

保持队形,谢谢合作
{:soso_e181:}
回复 使用道具 举报
会飞的狼 发表于 2013-8-24 11:15
这题用正则不好做,几乎是不可能,不知道有没有大神用正则搞出来,这题应该把字符转换成byte数组然后进行操 ...

很早就考试过了,,今天看到正则,,突然想到这道题,,然后就用正则试试。。关键是非法的状态异常怎么解释???
回复 使用道具 举报
这题用正则不好做,几乎是不可能,不知道有没有大神用正则搞出来,这题应该把字符转换成byte数组然后进行操作,汉字是两个字节,而且对应的数字是负数,你这可能是考试题吧,我就不多说了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马