当前位置: 首页 > 知识库问答 >
问题:

Regex仅获取由空格分隔的数字

师谦
2023-03-14

我有这样一个字符串:<代码>0 1-3 4 5 6!7.8 9-10\n11我只想得到两边都有空格或换行符或什么都没有的数字,即0,4,5,6,11。我的regexp只有4和6。

public static void main(String[] args) {
        String text = "0 1-3 4 5 6 !7 !8 9-10\n11";

        String regexp = "\\s\\d+\\s";
        Pattern pattern = Pattern.compile(regexp);
        Matcher matcher = pattern.matcher(text);

        while (matcher.find()) {
            System.out.println(matcher.group());
        }
    }

Regexp测试

共有1个答案

杨俊茂
2023-03-14

尝试以下操作:

String regexp = "(?:(^|\\s))\\d+(?=($|\\s))";

零件前后都有非消费组。这是一个有点棘手的行开始和结束。这就是为什么会有(^ |\s)($\s)

 类似资料:
  • 问题内容: 我想从标准输入中读取一组整数值并将其放入整数切片中。不使用循环的最快方法是什么? 例如 如何将这些值放在整数切片中? 问题答案: 无论如何都会有一个循环,这里没有and 循环(在Go Playground 上尝试一下): io: 为了更快地进行输入扫描重写: 使用: 更快的输入扫描

  • 问题内容: 我有以下测试文件: 解析此文件每一行并创建带有(名称,姓氏,生日)的对象的最佳方法是什么?当然,这只是一个示例,实际文件中有很多记录。 问题答案:

  • 我试图验证数字1-8的逗号分隔列表。

  • 给我一个字符串“23 45”,我需要得到两个值为23的变量(int a)和值为45的变量(int b)

  • 可以输入的数据示例:1004,1032,1051,1062,1070,1092,1115,1136,1148,1164,1175,1180,1320,1332,1344,1350,1368,1380,1386,1406,1414,1418,1428,1442,1448,1506,1524,1534,1550,1578,1584,1594,1 688,1708,1722,1750,1768,1772

  • 问题内容: 我想读取两个输入值。第一个值应为整数,第二个值应为浮点数。 我看到用Python在同一行中读取了两个变量,但是仅当两个值的类型相同时,它才适用。我还有其他办法吗? 输入示例,第一个是int,第二个是float。输入应该在一行上: http://www.codechef.com/problems/HS08TEST/ 我是Python的新手。 问题答案: 像这样: 您不能单线执行此操作(或