正则都是相通的,和jquery的也差不太多。
java正则用了很久,默然回首居然连个笔记也没有,那做下吧。
java代码示例
静态变量:
public static Pattern pattern=Pattern.compile("^(.[^&]+)&((.[^&]+)&){0,1}(.[^&]+)$");
这是方法代码:
Matcher matcher = pattern.matcher(string);
if (matcher.find()) {
String province = matcher.group(1);
String city = matcher.group(2);
String area = matcher.group(4);
}
注:Pattern.compile(),即编译正则,相对消耗性能,放到静态变量中,只执行一次。后续使用时只调用匹配方法,性能会比较好。
如果编译也放在方法中,性能会受影响,特别是这个方法频繁使用。
组的使用
jquery中和java中都有这个概念,组即表达式中出现的小括号。
n的值从0-9 0表示全部内容 1表示第一个小括号,2表示第二个小括号,以此类推,多重括号的话,按照编译顺序计算。
如:
(aaa(bbbc{1})ccc) $(1)是外层小括号,$2是内层小括号。(这里还需确认下// TODO)
jquery中$(n)表示组。
java中group(n)表是组。
其他
jquery正则在线手册(这个可以参考一下):
https://www.jq22.com/chm/jquery/regexp.html