有没有人知道如何从字符串中检索“12345”:
“wawawa#99999 hahaha #lalala#12345,难怪”
我尝试了模式\#(.*?)
,难怪\,但是这些从#99999开始回归。我需要从上一个'#'
角色开始抓住。
感谢。
答案 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));
}