1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > java正则表达式去除重复_Java正则表达式:重复捕获组

java正则表达式去除重复_Java正则表达式:重复捕获组

时间:2019-12-20 04:40:25

相关推荐

java正则表达式去除重复_Java正则表达式:重复捕获组

这可能是解决方案:

package com.drl.fw.sch;

import java.util.regex.Pattern;

public class AngularJSMatcher extends SimpleStringMatcher {

Matcher delegate;

public AngularJSMatcher(String lookFor){

super(lookFor);

// ng-repeat

int ind = lookFor.indexOf('-');

if(ind >= 0 ){

StringBuilder sb = new StringBuilder();

boolean first = true;

for (String s : lookFor.split("-")){

if(first){

sb.append(s);

first = false;

}else{

if(s.length() >1){

sb.append(s.substring(0,1).toUpperCase());

sb.append(s.substring(1));

}else{

sb.append(s.toUpperCase());

}

}

}

delegate = new SimpleStringMatcher(sb.toString());

}else {

String words[] = lookFor.split("(?

if(words.length > 1 ){

StringBuilder sb = new StringBuilder();

for (int i=0;i < words.length;i++) {

sb.append(words[i].toLowerCase());

if(i < words.length-1) sb.append("-");

}

delegate = new SimpleStringMatcher(sb.toString());

}

}

}

@Override

public boolean match(String in) {

if(super.match(in)) return true;

if(delegate != null && delegate.match(in)) return true;

return false;

}

public static void main(String[] args){

String lookfor="ngRepeatStart";

Matcher matcher = new AngularJSMatcher(lookfor);

System.out.println(matcher.match( ""));

System.out.println(matcher.match( "var ngRepeatStart=\"item in items\">"));

}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。