正则表达式 一个字符串:"xxx:aaaxxx:bbb\nxxx:ccc"我只想匹配每行第一个xxx:,而每行第二次出现的xxx:不匹配正则表达式如何写呢?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没有明白你什么意思,发一个东东,你自己照着做:http://edu.yesky.com/edupxpt/18/2143018.shtml 参考public class Test63 { public static void main(String[] args) { String s = "xxx:aaaxxx:bbb\nxxx:ccc"; System.out.print(s.replaceAll("((?<=\n)|^)xxx", "我被找到了")); }} String str = "xxx:aaaxxx:bbb\nxxx:ccc"; Pattern p = Pattern.compile("(xxx:.*?)(xxx:.*)*(\n|$)"); Matcher m = p.matcher(str); while(m.find()){ System.out.println(m.group(1)); }这样? 不是,比如:title:aaatitle:bbb我想弄成<title>aaatitle:bbb</title>而不是<title>aaa</title><title>bbb</title>就是只把每行第一个“:”之前的匹配,而且title也可能是别的单词,比如date之类的。 千奇百怪....public class Test64 { public static void main(String[] args) { String s = "title:aaatitle:bbb"; System.out.print(s.replaceAll("^(.+?):(.+)", "<$1>$2</$1>")); }}不知道还有啥附加条件.. String str = "xxx:aaaxxx:bbb\nxxx:ccc"; str = str.replaceAll("([^:]+):(.*?)(.*)(\n|$)", "<$1>$2$3</$1>"); System.out.println(str); String str = "xxx:aaaxxx:bbb\nxxx:ccc"; str = str.replaceAll("([^:]+):(.*)(\n|$)", "<$1>$2</$1>$3"); System.out.println(str);这样好点. 这个循环遍历怎么写? 用输入输出解决两数求和问题(不用Scanner类来写) 用JavaServerSocket开发多人联机棋牌游戏服务器端,大概能撑多少人? java中输出信息到文件的问题 创建五角星代码怎么理解注释 求一个判断是否为有效ip地址的方法 简单JDBC问题 String编码问题 关于JFrame中的setSize方法的疑问 javamail提示这个是什么意思呀 关于递归的面试题 请教string的+的问题 谢谢了
http://edu.yesky.com/edupxpt/18/2143018.shtml
public static void main(String[] args) {
String s = "xxx:aaaxxx:bbb\nxxx:ccc";
System.out.print(s.replaceAll("((?<=\n)|^)xxx", "我被找到了"));
}
}
Pattern p = Pattern.compile("(xxx:.*?)(xxx:.*)*(\n|$)");
Matcher m = p.matcher(str);
while(m.find()){
System.out.println(m.group(1));
}
这样?
title:aaatitle:bbb
我想弄成<title>aaatitle:bbb</title>
而不是<title>aaa</title><title>bbb</title>
就是只把每行第一个“:”之前的匹配,而且title也可能是别的单词,比如date之类的。
public static void main(String[] args) {
String s = "title:aaatitle:bbb";
System.out.print(s.replaceAll("^(.+?):(.+)", "<$1>$2</$1>"));
}
}不知道还有啥附加条件..
str = str.replaceAll("([^:]+):(.*?)(.*)(\n|$)", "<$1>$2$3</$1>");
System.out.println(str);
str = str.replaceAll("([^:]+):(.*)(\n|$)", "<$1>$2</$1>$3");
System.out.println(str);
这样好点.