正则表达式学习总结, 附java源码
组的概念, 提取组信息
/**
* 正则表达式可以划分不同的组,取出组的名称,括号即可, 即所谓的捕获组
* 1. 相关知识: 不捕获用(?:expression) 表示这组不需要捕获
*
*
*/
public static void groupTest() {
String src = "xxxxxxxxxx2009-1-17-19-07-16yyyyy2001-02-18-19-07-16q";
String regex = "(\\w{4})(\\d{4}-\\d{1,2}-\\d{1,2}-\\d{1,2}-\\d{1,2}-\\d{1,2})";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(src);
displayMatchResult(matcher);
}
或关系的表达
/**
* 1. 单个字符或者数字的"或关系"用[]即可, 这里不做展示
* 2. 多个字符的"或关系"用括号展示
* 3. 提取括号的内容, 请看下面的例子, 关注group的index
* 4. 这里的Group可以不捕获,不捕获的方式是(?:expression)
* 5. 这里推出的问题是:"非逻辑关系怎么搞"(与逻辑关系就算了, 默认的都是与逻辑关系)
* 6. 非关系, 归类到"零宽度"中
*
*/
public static void groupOr_Nested()
{
String src = "x1111abcxxxyyy";
String regex = "((?:x1111|y2222)abc)xxx";
//String regex = "((x1111|y2222)abc)xxx";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(src);
displayMatchResult(matcher);
}
贪婪和非贪婪匹配
/**
* 贪婪匹配和非贪婪匹配的比较
* 这是一个加不加问好的问题了
*/
public static void greedCompare()
{
String src = "<p class=\"author\"> <strong>admin </strong></strong> 发表于 2009-5-14 16:49 </p><h3>提取帖子内容 </h3>“提取这句话”<br /> <br />";
/**非贪婪匹配用下面*/
//String regex = "<strong>(.*?)</strong>";
/**贪婪匹配用下面 */
String regex = "<strong>(.*)</strong>";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(src);
displayMatchResult(matcher);
}
替换字符
/**
* 替换, 该方法很水, 简单的可用, 复杂的
* 应该通过match.star(groupIndex)来找位置比较方便
*/
public static void replaceMatch()
{
String src = "xxxxxxxxxx200
相关文档:
最近公司碰到需要用图表的形式显示一些数据,我就开始到网上查询,查到了jfreechart和amcharts,这两者我都实现过了,jfreechart最后生成图片,但是图片效果不是我想要的,然后又研究amcharts 它的效果确实很好,而且官方网站上还有好些例子可供下载,网址是:www.amcharts.com
(想要完成一个amcharts图形需要swfobjects. ......
JAVA中位运算符包括: & | ~ ^ << >> >>>
一、首先要搞清楚参与运算的数的位数:
java的8种基本类型:byte,short, char, int, long,float,double,boolean.
在内存中固定长度(字节):1&nbs ......
GUID是一个128位长的数字,一般用16
进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以
保证(概率意义上)3240年不重复。
UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID
package
com.mytest;
im ......
通过 Groovy 进行循环
同大多数脚本语言一样,Groovy 经常被宣传为生产力更高 的 Java 语言替代品。您已经看到了 Groovy 缺少类型能够如何减少打字工作。在这一节,将创建并试用一个 repeat 函数。在这个过程中,将进一步探索 Groovy 提高效率的方式。
更好、更短的循环
下面这种方法可以更好地感受 Groovy 缺乏类型的好 ......
1、测试方法如下:
public static String toUtf8(String str) {
return new String(str.getBytes("UTF-8"),"UTF-8"):
&nb ......