请教一个关于java正则表达式的问题

源码码头 毕业设计 1

一长串字符串中有字母数字逗号句号感叹号冒号空格退格符回车,我需要捕获的是所有“字母数字”的任意组合(区分大小写),而这些组合又由“逗号句号感叹号冒号空格退格符回车”的任意组合隔开,请问我该怎么写呢? 比如 “fdjfk23jkj0 ,. djfk !s2SJDKd djfk 232 : ! d .. s”字符串经过操作返回这样一个列表[fdjfk23jkj0,djfk,s2SJDKd,djfk,232,d,s] 。

回复

共2条回复 我来回复
  • 代码助手
    这个人很懒,什么都没有留下~
    评论

    参考代码如下:

    import java.util.ArrayList;
    import java.util.List;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    import java.util.regex.PatternSyntaxException;
    
    class Test {
        public static void main(String[] args) throws PatternSyntaxException {
            String subjectString = "fdjfk23jkj0 ,. djfk !s2SJDKd djfk 232 : ! d .. s";
            List<String> matchList = new ArrayList<String>();
            Pattern regex = Pattern.compile("\\p{Alnum}+", Pattern.MULTILINE);
            Matcher regexMatcher = regex.matcher(subjectString);
            while (regexMatcher.find()) {
                matchList.add(regexMatcher.group(0));
            }
            System.out.println(matchList);
        }
    
    }
    
    0条评论
  • 代码向导
    这个人很懒,什么都没有留下~
    评论
     Pattern pattern = Pattern.compile("[a-z\\d]+",Pattern.CASE_INSENSITIVE);
    
    0条评论

发表回复

登录后才能评论