Android 正则表达式获取正数

Android 正则表达式获取正数,android,regex,Android,Regex,我有一个字符串,其中包含一个介于两者之间的数字,我想从该字符串中获取所有数字,因为我有这个正则表达式(\d+),但它不起作用 我还想包括那些在红场中提到的,我需要在正则表达式中做哪些更改 编辑:相关代码 String regex = "( \\d+ )"; Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE); Matcher m = p.matcher(textView.getText());

我有一个字符串,其中包含一个介于两者之间的数字,我想从该字符串中获取所有数字,因为我有这个正则表达式(\d+),但它不起作用

我还想包括那些在红场中提到的,我需要在正则表达式中做哪些更改

编辑:相关代码

String regex = "( \\d+ )";
        Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
        Matcher m = p.matcher(textView.getText());

        while (m.find()) {
            String number = m.group().replace(" ", "");
            WAAFILogger.d("Number-regex", ":"+number+":");
            int startIndex = messageText.indexOf(number);
            int endIndex = startIndex + number.length() - 1;

            builder.setSpan(message.getSpannableListenerForNumber(number),
                    startIndex,
                    endIndex + 1,
                    Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

            textView.setMovementMethod(LinkMovementMethod.getInstance());

        }

您可以使用以下两种方法之一:

\+?\b\d+(?!\S)
\+?(?<!\d|\d\.)\d+(?!\.?\d)
\+?\b\d+(?!\S)
\+?(?
见和。详情:

  • \+?
    -可选的
    +
    符号
  • \b
    -单词边界
  • (?-如果当前位置左侧有一个数字或数字+
    ,则匹配失败的反向查找
  • \d+
    -1+位
  • (?!\S)
    -如果当前位置右侧没有非空白字符,则会导致匹配失败的负前瞻
  • (?!\.?\d)
    -如果当前位置右侧有一个可选的
    和一个数字,则会导致匹配失败的负前瞻

您想说您想避免匹配日期吗?您正在替换、提取、删除匹配项吗?请提供您的正则表达式相关代码以查看您的标题。提取。同时添加了代码,我建议使用
String regex=“\\b\\d{1,2}\\s+\\w+\\s+\\d{2}(?\\d{2})\\b|(?@WiktorStribiżew它没有选择任何东西。在regex101上尝试过regex101。你需要绿色的。一件小事是,如果一个数字以+开头,不管它在左边或右边是否有空格,总是选择它。但它也选择没有加号的数字。请检查。@user2934930正确,你得到的是
+923155104292
de>92928392992
-你期望什么?试试
\++\d++\b(?,谢谢,这更符合我的要求。