从字符串“wawawa#99999 haha​​ha #lalala#12345中检索12345,难怪”

时间:2012-02-08 10:08:16

标签: regex

有没有人知道如何从字符串中检索“12345”:

  

“wawawa#99999 haha​​ha #lalala#12345,难怪”

我尝试了模式\#(.*?),难怪\,但是这些从#99999开始回归。我需要从上一个'#'角色开始抓住。

感谢。

5 个答案:

答案 0 :(得分:1)

#([^#]*),no wonder

因为[^#]*仅匹配非#字符。

答案 1 :(得分:1)

这完全符合您的需要,在最后#之后获取数字,无论之前是什么文本以及之后是什么文字:

#(?!.*#.*)(\d+)

答案 2 :(得分:0)

以下正则表达式应该这样做......

#(\d+).*?$

答案 3 :(得分:0)

#(?!.*#\d+)(\d+)

获取最后一个#之后的数字。后面跟一个数字。

(?!.*#\d+)(?<=#)\d+

也应该有效,整个比赛只包含没有#的数字,没有捕获。

答案 4 :(得分:0)

如果您需要最后一个带有一些数字的“#”,那么对于Java,它将如下所示:

String input = "Retrieving 12345 from the string wawawa #99999 hahaha # lalala #12345,no wonder #ret";
Pattern p = Pattern.compile(".*(#\\d+)");
Matcher m = p.matcher(input);

    if(m.find()){
        System.out.println(m.group(1));
    }