HH:MM:SS TRNS:XXXXXX HH:MM:SS 代表时间
TRNS:XXXXXX xxxxx是六位固定数字
TRNS:XXXXXX xxxxx是六位固定数字
解决方案 »
- 关于MyEclipse 8.x Latest (8.0M1)开发swing
- 急!急!!!!这个画图程序怎么改?
- 菜鸟的超级简单程序出错了,大虾来帮忙查错
- Javascript在不同浏览器的冲突问题!请教各位
- 关于LDAP,为什么使用不存在的用户名和空密码可以通过认证?
- 怎样设置才能使Jcreator编译Servlet类?
- 闷热呀!急呀,各位高手看一下我的JDBC配置是否有问题?
- 求 HttpURLConnection 使用说明
- 问问大家那个Character.Subset到底是干嘛的啊~~?
- RMI程序问题
- 关于Runnable 接口和继承 Thread 来实现多线程的区别,有句话我没看懂!
- 迷惑了
([0-1][0-9])|(2[0-4])(:[0-6][0-9]){2}\sTRNS:xxxxx
//你说xxxxx是固定的,那么你把它换成你的固定数字就好了
随便写的,未经验证,我这样应该是把HH MM SS都看成字符了,没看成数字
Matcher m = p.matcher("21:59:56 TRNS:111111");
没有20:xx:xx的情况么
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class Test { private final String regex = "(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]\\s+TRANS:\\s*\\d{6}";
private Pattern pattern = null; public static void main(String args[]) throws IOException {
String str = "adfadsf 00:00:00 TRANS: 123456 asdf" +
"asdf23:00:00 TRANS:123456";
Test test = new Test();
List<String> list = test.get(str);
for(String s : list) {
System.out.println(s);
}
}
public List<String> get(String str) {
if(pattern == null) {
pattern = Pattern.compile(regex);
}
List<String> list = new ArrayList<String>();
Matcher matcher = pattern.matcher(str);
while(matcher.find()) {
list.add(matcher.group());
}
return list;
}
}
鄙视LSS...
哈哈...鄙视小宝宝
下面这个怎么匹配,数字都是不定值:07:59:28 TRNS:014989 CWD 1,000.00 07:59:30 HOST ACCEPT
要求是014989和CWD以及CWD和后面的数字当中有空格且最后的数字是6位
====================
你要学会自己参照了+
并加上您在 15 楼提出的要求需要注意的是:07:59:28 TRNS:014989 CWD 3,700.00如果 CWD 后面的数字不符合要求,比如是:3337.00 或者是 ,700.00 这种格式的,
只能抽取到:07:59:28 TRNS:014989 部分,后面的 CWD 部分抽取不到。import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class Test {
private final String regex =
"(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]\\s+" +
"(?:HOST\\s+ACCEPT|TRNS:\\s*\\d{6}" +
"(?:\\s+CWD\\s+\\d\\d?\\d?(?:,\\d{3})*\\.\\d\\d)?)";
private Pattern pattern = null; public static void main(String args[]) {
String str = "adfadsf 00:00:00 TRNS: 123456 asdf" +
"asdf07:59:28 TRNS:123456 adfsdfasd" +
"adsfasf07:59:28 TRNS:014989 CWD 3,700.00asdfsf" +
"adsfasf07:59:28 TRNS:014989 CWD 20.00asdfsf" +
"asdf07:59:30 HOST ACCEPTasdfasdf";
Test test = new Test();
List<String> list = test.get(str);
for(String s : list) {
System.out.println(s);
}
}
public List<String> get(String str) {
if(pattern == null) {
pattern = Pattern.compile(regex);
}
List<String> list = new ArrayList<String>();
Matcher matcher = pattern.matcher(str);
while(matcher.find()) {
list.add(matcher.group());
}
return list;
}
}