- 浏览: 334115 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (249)
- 无废话ExtJs 系列教程 (26)
- jQuery (6)
- 钦波工作后的生活 (5)
- 工作/生活闲谈 (16)
- java基础知识 (44)
- java web (14)
- Struts (1)
- hibernate (8)
- Jpa (0)
- spring (1)
- ajax (3)
- java项目 (4)
- database (5)
- java 流行框架 (5)
- 异常处理 (4)
- 无废话Android系统教程 (6)
- 开发IDE (1)
- 亲自答过的java笔试题 (2)
- oa项目 (4)
- [ 民政局3.0系统 ]--知识点总结分析--与具体项目无关 (0)
- [ 黑龙江低保系统 ]--知识点总结分析--与具体项目无关 (2)
- 工作笔试 (1)
- xml (1)
- telecom项目分析 (13)
- swing (0)
- String运用 (2)
- css (1)
- 页面 (1)
- Html5 (2)
- oracle (4)
- 网站 (1)
- django (1)
- python (4)
- 民航数据中心遇到与解决的问题 (1)
- 平时关注的技术或特效 (1)
- Linux 命令 (2)
- 服务器监控工具 (1)
最新评论
-
wwytwen123:
[*]
java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波) -
junying280efun:
yingtao.huang@gmail.com仁兄,麻烦你给我 ...
jBPM Web Designer(jBPM Web 设计器、jBPM 流程设计器、工作流程设计器) -
mobeicanglang:
我觉得楼主的例子全部都有错误,题目明明说的是try{}语句中有 ...
try return finally -
ashy1q:
楼主最后那段代码重复了,写了两遍。知识很详细,很基础,学习了。 ...
java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波) -
185552143:
你好!
为什么我这样写p${m.id},会报错的?
能我帮我解 ...
Session问题
////////////////// test1 ADD_START-2012年02月03日 HUIQINBO/////////////////////////
public static void main(String args[]){
String line = " St Sc :huiqinbo"
+" St Dt IP :111.222.111.222"
+" St IP TS :0x32"
+" St L4 Src Pt/IP te:80(0x50)"
+" St L4 Dst Pt/IP ce:12";
String line = "St L4 Src Pt/IP te:80(0x50)";
.........
String setL4SrcPortICMPtype = getValue(line, "St L4 Src Pt/IP te");
调用getValue后的结果为80(0x50)
........
}
public static String getValue(String line, String attrName) {
WALog.traceIn();
if (line == null || attrName == null) {
throw new IllegalArgumentException();
}
String quotedAttrName = Pattern.quote(attrName);
try {
Matcher matcher = Pattern.compile(
quotedAttrName + "\\s*:\\s*(\\S+)\\b").matcher(line);
if (!matcher.find()) {
WALog.traceOut();
return "";
}
String value = matcher.group();
WALog.traceOut();
return value.substring(value.indexOf(':') + 1).trim();
} catch (PatternSyntaxException e) {
WALog.traceOut();
return "";
}
}
////////////////// test1 ADD_END-2012年02月03日 HUIQINBO/////////////////////////
///////////////////////test2 ADD_START-2012年02月29日 HUIQINBO//////////////////////////////////
今天正好有点时间我来补充一下上面我没有写完的方法:
其实上面的 getValue(String line, String attrName) 方法有不完美之处,为什么呢,因为如果你把我上面写好的程序copy到你的代码中去,会发现我上面写到的 【调用getValue后的结果为80(0x50)】 会少一个右括号,正确结果是 80(0x50
那为什么会少一个右括号呢,你自己考虑下,因为我写的正则表达式是\\s*:\\s*(\\S+)\\b 它,最后是以 \\b 结尾的,\\b 是指已单词末尾结尾,所以自然右括号就被过虑掉了,那我们该如何来把正确的结果80(0x50) 显示出来呢,下面我再写一个方法来满足需求,真不想写,写完会大家写不给个好评呵:
public static String getValue1(String line, String attrName) {
WALog.traceIn();
if (line == null || attrName == null) {
throw new IllegalArgumentException();
}
String quotedAttrName = Pattern.quote(attrName);
try {
// find key:xx(xx)
Matcher matcher = Pattern.compile(
quotedAttrName + "\\s*:\\s*\\S*\\s*\\(\\s*(\\S+)\\s*\\)").matcher(line);
if (!matcher.find()) {
// find key:(xx)
matcher = Pattern.compile(
quotedAttrName + "\\s*:\\s*\\(\\s*(\\S+)\\s*\\)").matcher(line);
if (!matcher.find()) {
// find key:xx
matcher = Pattern.compile(
quotedAttrName + "\\s*:\\s*(\\S+)\\b").matcher(line);
if (!matcher.find()) {
WALog.traceOut();
return "";
}
}
}
String value = matcher.group();
WALog.traceOut();
return value.substring(value.indexOf(':') + 1).trim();
} catch (PatternSyntaxException e) {
WALog.traceOut();
return "";
}
}
上面的粉色部分就是来处理我们的需求的, 解释下吧,若不又有网友提出各种的问题
\\s* 是指0个或多个空格
\\S* 是指0个或多个字符
\\( 是指小括号的左部分
(\\S+) 一个或多个字符,当然可以把\\S+两边的括号去掉,我这里写是为了便于观客们易看
\\) 是指小括号的右部分
这回大家清楚了吧,这次的结果一写是 80(0x50)
好了,更多交流、更多了解,请联系我
QQ:444084929 【回钦波】
个人主面 :http://www.huiqinbo.com
///////////////////////test2 ADD_START-2012年02月29日 HUIQINBO//////////////////////////////////
发表评论
-
JAVA正则表达式经典实例教程[huiqinbo]
2012-03-22 14:38 1745归纳者 : huiqinboaddress : bei ... -
Java多线程同步Synchronized使用并详细分析与实例 【huiqinbo转于网络并总结】
2012-03-09 13:55 3065一.Synchronized基本知识: 在 ... -
获得到当前方法及类的名字Thread.currentThread().getStackTrace()[0].getClassName();
2011-09-26 13:22 2195获得到当前方法及类的名字: Thread.curren ... -
BufferedReader和BufferedOutputStream之间的灵活应用【回钦波】
2011-09-16 17:44 1035package log; import java.io.Bu ... -
获取c盘下的用户地址System.getProperty("user.home")
2011-09-15 17:09 1094System.getProperty("user.h ... -
为java.util.logging自定义文件处理器及日志输出格式
2011-09-15 17:05 1723为java.util.logging自定义文件处理器及日志输 ... -
jdk log自定义配置文件【回钦波写于20110915】
2011-09-15 17:00 1164import java.io.IOException; ... -
获得本类(java文件)的路径【huiqinbo】this.getClass().getResource("/").getPath()
2011-09-14 15:29 1313package com.huiqinbo; imp ... -
java中ArrayList 、LinkList区别【huiqinbo】
2011-09-08 11:42 1184java中ArrayList 、LinkList、List区 ... -
jdk的logging实例入门学习
2011-09-07 16:40 971jdk的logging实例入门学习 分类: JDK 2 ... -
关于数组new 与不new 的问题
2011-08-30 15:05 784public class Test { String c ... -
Eclipse快捷键大全(huiqinbo)
2011-08-30 11:12 735Ctrl+1 快速修复(最经典 ... -
oracle数据库左右内外连接 【回钦波详解】
2011-08-29 15:00 1154oracle数据库左右内外连 ... -
@SuppressWarnings("**")是什么意思【回钦波详细解答】
2011-08-10 10:55 959很多网友问我(回钦 ... -
很好用的Java反编译软件【回钦波】
2011-04-29 16:49 1003有Windows,Linux和Mac OS三个版本可 ... -
JAVA进制等移位运算[参考于回钦波文库]
2010-12-20 14:33 1005JAVA移位运算符 文章分类:Java编程 作者:回钦波 ... -
java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波)
2010-11-05 13:16 2928java类中静态域、块,非 ... -
线程的状态
2010-11-02 09:50 987学习线程《五》——线程的状态 文章分类:Java编程 ja ... -
ArrayList,Vector, LinkedList的存储性能和特性
2010-11-01 13:05 1031ArrayList,Vector, LinkedList的存储 ... -
LinkedHashMap 和 HashMap的区别[软件框架师 回钦波详解]
2010-10-18 23:49 1385...
相关推荐
SEM优化:品牌词管理闲谈(下).doc
面试中的闲谈技巧,好的闲谈是敲门砖
关于程序设计方法学的一些精英.适合中级高级程序员学习
闲谈嵌入式编程
Java设计模式入门闲谈,帮助你快速Java入门
闲谈Web图片服务器.rar
开发经验,PCB布板闲谈
闲谈GDP老广转自西西河.pdf
闲谈酒店管理合同的谈判战术.docx
初中语文文摘人生闲谈中国人的“面子
以前写的项目的一些总结。里面的代码希望能对大家有帮助
专题资料
Java基于Swing实现的简单聊天室,支持多人在线闲谈.zip
演讲稿:静坐常思己过,闲谈莫论人非_演讲稿.pdf
闲谈 我奇妙的Nuxt.js项目 构建设置 # install dependencies $ npm run install # serve with hot reload at localhost:3000 $ npm run dev # build for production and launch server $ npm run build $ npm run ...
在51单片机为主流的时期,常常会有个问题困扰嵌入式应用的初学者,是先学习汇编语言,还是直接学习C语言
我想列出我实践中的几个例子。引起大家在嵌入式中做项目时对一些问题的关注。
河北省青龙满族自治县逸夫中学高中语文 第6专题 第16课 春末闲谈学练案 苏教版选修《现代散文选读》.doc
屏蔽烦人的电信强制广告的方法主要就是闲谈
NULL 博文链接:https://heaven-arch.iteye.com/blog/299350