正则表达式用于括号中的字母或数字

用户名

我正在使用Java使用正则表达式处理文本。我正在使用以下正则表达式

^[\([0-9a-zA-Z]+\)\s]+

匹配括号中的一个或多个字母或数字一次或多次。例如,我想匹配(aaa)(bb)(11)(AA)(iv)或(111)(aaaa)(i)(V)

我在http://java-regex-tester.appspot.com/上测试了此正则表达式,它正在工作。但是,当我在代码中使用它时,代码不会编译。这是我的代码:

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    public class Tester {

        public static void main(String[] args) {

            Pattern pattern = Pattern.compile("^[\([0-9a-zA-Z]+\)\s]+");

            String[] words = pattern.split("(a) (1) (c) (xii) (A) (12) (ii)");

            String w = pattern.

            for(String s:words){

                System.out.println(s);

            }
    }
}

我尝试使用\代替\,但是正则表达式给出的结果与我预期的结果不同(它仅匹配(aaa)这样的一个组而不匹配(aaa)(111)(ii)的多个组)。

两个问题:

  1. 如何修复此正则表达式并能够匹配多个组?
  2. 我如何才能分别获得各个匹配项(例如单独(aaa)然后是(111),依此类推)。我尝试了pattern.split,但对我不起作用。
用户名

这是我的最终解决方案,以匹配出现在行首的方括号中的各个字母/数字组,而忽略其余的

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

public class Tester {
    static ArrayList<String> listOfEnums;
    public static void main(String[] args) {
        listOfEnums = new ArrayList<String>();
        Pattern pattern = Pattern.compile("^\\([0-9a-zA-Z^]+\\)");
        String p = "(a) (1) (c) (xii) (A) (12) (ii) and the good news (1)";
        Matcher matcher = pattern.matcher(p);
        boolean isMatch = matcher.find();
        int index = 0;
        //once you find a match, remove it and store it in the arrayList. 
        while (isMatch) {
          String s = matcher.group();
          System.out.println(s);
          //Store it in an array
          listOfEnums.add(s);
          //Remove it from the beginning of the string.
          p = p.substring(listOfEnums.get(index).length(), p.length()).trim();
          matcher = pattern.matcher(p);
          isMatch = matcher.find();
          index++;
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python正则表达式从字符串中除去括号中的非字母数字字符

来自分类Dev

正则表达式用于删除括号中的数据

来自分类Dev

JavaScript正则表达式用于带括号和逗号的数字

来自分类Dev

R中的字母数字正则表达式

来自分类Dev

正则表达式用于Python中的匹配括号

来自分类Dev

正则表达式,用于字母数字字符以及方括号和空格

来自分类Dev

正则表达式用于字母数字字符串中的数字计数

来自分类Dev

正则表达式,用于字母数字和一些特殊字符

来自分类Dev

使用正则表达式提取括号中的数字

来自分类Dev

正则表达式仅适用于字母数字,不适用于数字

来自分类Dev

正则表达式(php)仅提取方括号内的数字或字母(不包括方括号)

来自分类Dev

正则表达式,用于提取括号中的逗号分隔数字

来自分类Dev

正则表达式,用于匹配方括号和数字

来自分类Dev

正则表达式用于在Python中的字母数字内添加数字

来自分类Dev

正则表达式从文本中删除字母数字

来自分类Dev

正则表达式以匹配括号或括号内的字符串中的数字

来自分类Dev

括号中的正则表达式

来自分类Dev

C#中的正则表达式,用于允许数字和字母

来自分类Dev

Python正则表达式从字符串中除去括号之外的非字母数字字符

来自分类Dev

正则表达式用于仅提取R中字符串中的字母和数字

来自分类Dev

正则表达式从括号中获取数字?

来自分类Dev

任何字母或数字后加括号的正则表达式

来自分类Dev

用于花括号的正则表达式数字Java中的花括号({n})

来自分类Dev

正则表达式,用于提取括号中的逗号分隔数字

来自分类Dev

Python使用正则表达式匹配数字,字母,空格和方括号的字符

来自分类Dev

正则表达式中的括号

来自分类Dev

在正则表达式的末尾删除括号中的数字?

来自分类Dev

正则表达式匹配括号内的字母

来自分类Dev

用于字母数字字符和数字范围组合的正则表达式

Related 相关文章

  1. 1

    Python正则表达式从字符串中除去括号中的非字母数字字符

  2. 2

    正则表达式用于删除括号中的数据

  3. 3

    JavaScript正则表达式用于带括号和逗号的数字

  4. 4

    R中的字母数字正则表达式

  5. 5

    正则表达式用于Python中的匹配括号

  6. 6

    正则表达式,用于字母数字字符以及方括号和空格

  7. 7

    正则表达式用于字母数字字符串中的数字计数

  8. 8

    正则表达式,用于字母数字和一些特殊字符

  9. 9

    使用正则表达式提取括号中的数字

  10. 10

    正则表达式仅适用于字母数字,不适用于数字

  11. 11

    正则表达式(php)仅提取方括号内的数字或字母(不包括方括号)

  12. 12

    正则表达式,用于提取括号中的逗号分隔数字

  13. 13

    正则表达式,用于匹配方括号和数字

  14. 14

    正则表达式用于在Python中的字母数字内添加数字

  15. 15

    正则表达式从文本中删除字母数字

  16. 16

    正则表达式以匹配括号或括号内的字符串中的数字

  17. 17

    括号中的正则表达式

  18. 18

    C#中的正则表达式,用于允许数字和字母

  19. 19

    Python正则表达式从字符串中除去括号之外的非字母数字字符

  20. 20

    正则表达式用于仅提取R中字符串中的字母和数字

  21. 21

    正则表达式从括号中获取数字?

  22. 22

    任何字母或数字后加括号的正则表达式

  23. 23

    用于花括号的正则表达式数字Java中的花括号({n})

  24. 24

    正则表达式,用于提取括号中的逗号分隔数字

  25. 25

    Python使用正则表达式匹配数字,字母,空格和方括号的字符

  26. 26

    正则表达式中的括号

  27. 27

    在正则表达式的末尾删除括号中的数字?

  28. 28

    正则表达式匹配括号内的字母

  29. 29

    用于字母数字字符和数字范围组合的正则表达式

热门标签

归档