求使用正则提取一个字符串,该如何处理
阅读
****************************************************
*通 知*
*这里是通知的信息, 刚发过贴。摘抄了一篇新闻导致删帖了,
给大家造成的打扰非常抱歉。
****************************************************
*这里是标题萨芬 YI:12345/12345
*这里是标题撒旦法2
YI:678907/12345
*这里是标题三撒旦法
YI:asdfwe/12345
需要提取其中的字符串和YI指令。
例如:
标题:这里是标题萨芬
YI指令: YI:12345/12345
我写的正则如下,但是第一条数据提取会出现问题。
String regEx2 = "\\*{1}([\\s\\S]*?)YI:(\\w+)/(\\w+)";
Pattern pat2 = Pattern.compile(regEx2);
StringBuffer bf2=new StringBuffer(128);
Matcher mat2 = pat2.matcher(content);
while (mat2.find()) {
bf2.append(mat2.group().replace("*","").replace("YI:", "").trim()).append(",");
}
int len2 = bf2.length();
if (len2 > 0) {
bf2.deleteCharAt(len2 - 1);
}
希望大家能帮帮忙, 非常感谢!
------解决方案--------------------
上面的 yi后面没匹配上, "\\*(.[^*]*?)\\s(YI.*?)\\s"
阅读