如何使用正则表达式查找特殊字符串之间的所有数字?

时间:2015-09-22 09:17:10

标签: java c++ regex

给出一个字符串: HelloWorld {12:777} ByeWorld {13:888} OkayWorld {14:999}

我想要的输出是:

12
13
14

如何编写模式(使用C ++或Java)查找字符串“世界{”和“”之间的所有数字?

2 个答案:

答案 0 :(得分:3)

使用lookarounds或捕获组。

Pattern.compile("(?<=World\\{)[^:]*(?=:)");

Pattern.compile("\\bWorld\\{([^:]*):");

答案 1 :(得分:1)

你可以试试这个:

#include<iostream>
#include<string>
#include<string.h>
using namespace std;

int main(void)
{
    char ch[100];

    scanf("%s", ch);
    char *token;
    token = strtok(ch, "{");
    token = strtok(NULL, ":");
    cout<< token << endl;
    return 0;
}