原来写过一篇关于正则表达式的文章,这里再补充几个实际项目中用到的例子.注意:下面样例都是scala代码
1 捕获组命名
使用捕获组的时候,程序员可能需要趴在显示器上,用一张纸挡着屏幕,从左往右数括号,...聚精会神好像拆弹,而且正则表达式一旦发生变化,group的index也会变.有洁癖的程序员不愿意忍受下面的代码中的那个2
val matcher = Pattern.compile("""(中标金额:|...")
if (matcher.find()) {
println(matcher.group(2))
}
因此可以把捕获组命名
val matcher = Pattern.compile("""(中标金额...零宽度断言只用来判断,而不会消费字符串,不会影响其他部分的匹配....后来终于找到了一个可以名正言顺使用正向断言的例子,用正则表达式来实现,效果拔群,立竿见影,感觉特别奇技淫巧.那就是密码强度判断,比如要求密码8到12位,必须有大小写字母和数字
val pattern