我的字符串 ( MY_STRING
) 的内容可能采用以下格式:
bla bla...this is the id of product bla bla:#31 5 2 0000 12please verify bla bla ...
或者
bla bla...this is the id of product bla bla: #31 5 2 0000 12, please verify bla bla...
或者
bla bla...this is the id of product bla bla: #31 5 2 0000 12 please verify bla bla...
我想从字符串中提取产品 ID。上例中的产品 ID 为#31 5 2 0000 12
产品ID的格式是#开头,后面跟着随机数(长度不限),数字之间的空格也是任意的。
我当前提取产品 ID 的代码是:
Pattern pattern = Pattern.compile("^#\\d+(\\s+\\d+)*$");
Matcher matcher = pattern.matcher(MY_STRING);
if(phoneNrMatcher.find()){
System.out.println(matcher.group(0));
}
但它不起作用,有人可以帮助我哪里出错了吗?可能是正则表达式?
笔记:
- 在我的示例中,ID #31 5 2 0000 12之前和之后的内容是任意的。
- 产品 ID 字符串始终以 # 开头,后面紧跟一个数字,不带空格或其他字符