[code="java"]
System.out.println(StringUtils.join("0098765424100304643528".split("(?<=\G.{4})"), "->"));
[/code]
上面的是一个正则 , 主要是把字符串按四个分割, 中间插入-> , 现在我想请教一下, 这里面的\G究竟是干什么的呢? 求指导
[code="java"]
System.out.println(StringUtils.join("0098765424100304643528".split("(?<=\G.{4})"), "->"));
[/code]
上面的是一个正则 , 主要是把字符串按四个分割, 中间插入-> , 现在我想请教一下, 这里面的\G究竟是干什么的呢? 求指导
[quote] 这里我有个疑问, 我们有在jdk中的pattern类的说明中找到\G的解释。。。 请问两位是在什么地方找到的?还有对于正则表达式的jdk的解释引擎和prel的及其他语言的解释引擎有什么具体的区别呢?正则表达式是不是不只是看懂那些仅有的几个符号表达的意思就可以了。。。 [/quote]
1、你有java的帮助文档没?没有的话下一个java中文帮助文档。上哦所里面的pattern类继就可以看到[quote]Unicode 块和类别的类
\p{InGreek} Greek 块(简单块)中的字符
\p{Lu} 大写字母(简单类别)
\p{Sc} 货币符号
\P{InGreek} 所有字符,Greek 块中的除外(否定)
[\p{L}&&[^\p{Lu}]] 所有字母,大写字母除外(减去)
边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界
\B 非单词边界
\A 输入的开头
\G 上一个匹配的结尾
\Z 输入的结尾,仅用于最后的结束符(如果有的话)
\z 输入的结尾
Greedy 数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
Reluctant 数量词
X?? X,一次或一次也没有
X*? X,零次或多次
X+? X,一次或多次
X{n}? X,恰好 n 次
X{n,}? X,至少 n 次
X{n,m}? X,至少 n 次,但是不超过 m 次
[/quote]
2、至于跟perl的引擎有什么区别,呵呵,这个不是一两句话就能讲明白的。因为这个正则表达式在各个语言中的是不尽相同的。如果你想了解下的话,给你推荐一本书《精通正则表达式》,当当的地址是[url]http://product.dangdang.com/product.aspx?product_id=20653863[/url]。这本书写的相当不错。你可以参考下。目前我正在读,呵呵!
希望对你有帮助!