java.util.regex.Pattern#compile ( )源码实例Demo

下面列出了java.util.regex.Pattern#compile ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: 4pdaClient-plus   文件: ThemeFragment.java
private void showImage(String url) {
    Pattern tPattern = Pattern.compile("(post\\/\\d*?\\/[\\s\\S]*?\\.(?:png|jpg|jpeg|gif))");
    Matcher target = tPattern.matcher(url);
    Matcher temp;
    String id;
    if (target.find()) {
        id = target.group(1);
        for (ArrayList<String> list : imageAttaches) {
            for (int i = 0; i < list.size(); i++) {
                temp = tPattern.matcher(list.get(i));
                if (temp.find()) {
                    if (temp.group(1).equals(id)) {
                        ImgViewer.startActivity(getContext(), list, i);
                        return;
                    }
                }
            }
        }
        ImgViewer.startActivity(getContext(), url);
    }

}
 
private String getLatestSnapshot(final String snapshotNameMask, final Map<String, VirtualMachineSnapshotTree> snapshotList) {
  if (snapshotNameMask == null)
    return null;
  if (!snapshotNameMask.contains("*") && !snapshotNameMask.contains("?")) {
    return snapshotList.containsKey(snapshotNameMask) ? snapshotNameMask : null;
  }
  Date latestTime = new Date(0);
  String latestSnapshotName = null;
  for (Map.Entry<String, VirtualMachineSnapshotTree> entry : snapshotList.entrySet()) {
    final String snapshotNameMaskRegex = StringUtil.convertWildcardToRegexp(snapshotNameMask);
    final Pattern pattern = Pattern.compile(snapshotNameMaskRegex);
    if (pattern.matcher(entry.getKey()).matches()) {
      final Date snapshotTime = entry.getValue().getCreateTime().getTime();
      if (latestTime.before(snapshotTime)) {
        latestTime = snapshotTime;
        latestSnapshotName = entry.getKey();
      }
    }
  }
  return latestSnapshotName;
}
 
源代码3 项目: eagle   文件: HBaseMetadataBrowseWebResource.java
String checkSensitivity(String site, String resource, Set<String> childSensitiveTypes) {
    Map<String, Map<String, String>> maps = getAllSensitivities();
    String sensitiveType = null;
    if (maps != null && maps.get(site) != null) {
        Map<String, String> map = maps.get(site);
        for (String r : map.keySet()) {
            Pattern pattern = Pattern.compile("^" + resource);
            boolean isMatched = Pattern.matches(r, resource);
            if (isMatched) {
                sensitiveType = map.get(r);
            }
            else if (pattern.matcher(r).find()){
                childSensitiveTypes.add(map.get(r));
            }
        }
    }
    return sensitiveType;
}
 
源代码4 项目: nifi   文件: TestAbstractListProcessor.java
@Override
public long removeByPattern(String regex) throws IOException {
    final List<Object> removedRecords = new ArrayList<>();
    Pattern p = Pattern.compile(regex);
    for (Object key : stored.keySet()) {
        // Key must be backed by something that can be converted into a String
        Matcher m = p.matcher(key.toString());
        if (m.matches()) {
            removedRecords.add(stored.get(key));
        }
    }
    final long numRemoved = removedRecords.size();
    removedRecords.forEach(stored::remove);
    return numRemoved;
}
 
源代码5 项目: Knowage-Server   文件: Version.java
private static String separateCompleteVersion(String completeVersion, String part) {
	logger.debug("IN");
	String toReturn = "";
	// Find all digits separated by dot (.) + optional i.e. [7.0.0-SNAPSHOT]
	Pattern regexPattern = Pattern.compile("([\\d]+)\\.([\\d]+)\\.([\\d]+)(-(.+))?");
	Matcher matcher = regexPattern.matcher(completeVersion);
	if (matcher.find()) {
		switch (part) {
		case "MAJOR":
			toReturn = matcher.group(1);
			break;
		case "MINOR":
			toReturn = matcher.group(2);
			break;
		case "PATCH":
			toReturn = matcher.group(3);
			break;
		case "OPTIONAL":
			toReturn = matcher.group(5);
			break;
		default:
			toReturn = completeVersion;
			break;
		}
	}
	logger.debug("OUT");
	return toReturn;
}
 
源代码6 项目: DataVec   文件: Configuration.java
/**
 * Get the value of the <code>name</code> property as a <ocde>Pattern</code>.
 * If no such property is specified, or if the specified value is not a valid
 * <code>Pattern</code>, then <code>DefaultValue</code> is returned.
 *
 * @param name property name
 * @param defaultValue default value
 * @return property value as a compiled Pattern, or defaultValue
 */
public Pattern getPattern(String name, Pattern defaultValue) {
    String valString = get(name);
    if (null == valString || "".equals(valString)) {
        return defaultValue;
    }
    try {
        return Pattern.compile(valString);
    } catch (PatternSyntaxException pse) {
        LOG.warn("Regular expression '" + valString + "' for property '" + name + "' not valid. Using default",
                        pse);
        return defaultValue;
    }
}
 
源代码7 项目: chuidiang-ejemplos   文件: ExtractLinksFromUrl.java
private static void showLinks(String content) {
   Pattern pattern = Pattern.compile("(?i)HREF\\s*=\\s*\"(.*?)\"");
   Matcher matcher = pattern.matcher(content);
   while (matcher.find()) {
      System.out.println(matcher.group(1));
   }
}
 
源代码8 项目: roboconf-platform   文件: Utils.java
/**
 * Expands a template, replacing each {{ param }} by the corresponding value.
 * <p>
 * Eg. "My name is {{ name }}" will result in "My name is Bond", provided that "params" contains "name=Bond".
 * </p>
 *
 * @param s the template to expand
 * @param params the parameters to be expanded in the template
 * @return the expanded template
 */
public static String expandTemplate(String s, Properties params) {

	String result;
	if( params == null || params.size() < 1 ) {
		result = s;

	} else {
		StringBuffer sb = new StringBuffer();
		Pattern pattern = Pattern.compile( "\\{\\{\\s*\\S+\\s*\\}\\}" );
		Matcher m = pattern.matcher( s );

		while( m.find()) {
			String raw = m.group();
			String varName = m.group().replace('{', ' ').replace('}', ' ').trim();
			String val = params.getProperty(varName);
			val = (val == null ? raw : val.trim());

			m.appendReplacement(sb, val);
		}

		m.appendTail( sb );
		result = sb.toString();
	}

	return result;
}
 
源代码9 项目: 4pdaClient-plus   文件: ThemeFragment.java
private void setScrollElement() {
    m_ScrollElement = null;

    String url = getLastUrl();
    if (url != null) {
        Pattern p = Pattern.compile("#(\\w+\\d+)");
        Matcher m = p.matcher(url);
        if (m.find()) {
            m_ScrollElement = m.group(1);
        }
    }
}
 
源代码10 项目: aliada-tool   文件: Cache.java
public Pattern getEndPattern(final String regex) {
	Pattern p = endPatterns.get(regex);
	if (p == null) {
		p = Pattern.compile("</(" + regex + ")>");
		endPatterns.put(regex, p);
	}
	
	return p;
}
 
源代码11 项目: BigApp_Discuz_Android   文件: StringUtils.java
/**
 * 判断是否为数字
 *
 * @param str
 * @return
 */
public static boolean isNumeric(String str) {
    Pattern pattern = Pattern.compile("[0-9]*");
    Matcher isNum = pattern.matcher(str);
    if (!isNum.matches()) {
        return false;
    }
    return true;
}
 
源代码12 项目: hmftools   文件: FormStatusReader.java
@NotNull
private static String removeParentheses(@NotNull String text) {
    final Pattern pattern = Pattern.compile(".*(?=(?:\\([0-9]+\\))$)");
    final Matcher matcher = pattern.matcher(text);
    if (matcher.find()) {
        return matcher.group(0).trim();
    } else {
        return text;
    }
}
 
源代码13 项目: graphouse   文件: MetricValidator.java
public MetricValidator(String metricRegexp, int minMetricLength, int maxMetricLength, int minDots, int maxDots) {
    this.minMetricLength = minMetricLength;
    this.maxMetricLength = maxMetricLength;
    this.minDots = minDots;
    this.maxDots = maxDots;
    metricPattern = Pattern.compile(metricRegexp);
}
 
源代码14 项目: android-tv-launcher   文件: Tools.java
/**
 * 
 * @param pwd
 * @return
 * 
 */
public static boolean isCorrectUserPwd(String pwd) {
	Pattern p = Pattern.compile("\\w{6,18}");
	Matcher m = p.matcher(pwd);
	System.out.println(m.matches() + "-pwd-");
	return m.matches();
}
 
源代码15 项目: opencps-v2   文件: DocumentTypeNumberGenerator.java
public static String generateDocumentTypeNumber(long groupId, long companyId, long documentTypeId)
			throws ParseException {
		DocumentType documentType = DocumentTypeLocalServiceUtil.fetchDocumentType(documentTypeId);
		String seriNumberPattern = null;		
		
		String documentTypeNumber = StringPool.BLANK;

		if (documentType != null) {
			seriNumberPattern = documentType.getCodePattern();
			String codePattern = "\\{(n+|N+)\\}";
			String dayPattern = "\\{(d{2}|D{2})\\}";
			String monthPattern = "\\{(m{2}|M{2})\\}";
			String yearPattern = "\\{(y+|Y+)\\}";
			String dynamicVariablePattern = "\\{\\$(.*?)\\}";
			String datetimePattern = "\\{([D|d]{2}[-\\/]{1}[M|m]{2}[-|\\/]{1}[Y|y]{4})\\}";
			String[] patterns = new String[] { codePattern, dayPattern, monthPattern, yearPattern,
					dynamicVariablePattern, datetimePattern };

			Date now = new Date();

			String day = String.valueOf(DateTimeUtils.getDayFromDate(now));
			String month = String.valueOf(DateTimeUtils.getMonthFromDate(now));
			String year = String.valueOf(DateTimeUtils.getYearFromDate(now));

			for (String pattern : patterns) {
				Pattern r = Pattern.compile(pattern);

				Matcher m = r.matcher(seriNumberPattern);

				while (m.find()) {
					String tmp = m.group(1);

					if (r.toString().equals(codePattern)) {
						String number = countByInit(pattern, 0L);

						tmp = tmp.replaceAll(tmp.charAt(0) + StringPool.BLANK, String.valueOf(0));
						if (number.length() < tmp.length()) {
							number = tmp.substring(0, tmp.length() - number.length()).concat(number);
						}
						seriNumberPattern = seriNumberPattern.replace(m.group(0), number);
					} else if (r.toString().equals(datetimePattern)) {
//						System.out.println(tmp);

						seriNumberPattern = seriNumberPattern.replace(m.group(0), "OK");

					} else if (r.toString().equals(dayPattern)) {

						tmp = tmp.replaceAll(tmp.charAt(0) + StringPool.BLANK, String.valueOf(0));

						if (day.length() < tmp.length()) {
							day = tmp.substring(0, tmp.length() - day.length()).concat(day);
						} else if (day.length() > tmp.length()) {
							day = day.substring(day.length() - tmp.length(), day.length());
						}

						seriNumberPattern = seriNumberPattern.replace(m.group(0), day);

					} else if (r.toString().equals(monthPattern)) {

						tmp = tmp.replaceAll(tmp.charAt(0) + StringPool.BLANK, String.valueOf(0));

						if (month.length() < tmp.length()) {
							month = tmp.substring(0, tmp.length() - month.length()).concat(month);
						} else if (month.length() > tmp.length()) {
							month = month.substring(month.length() - tmp.length(), month.length());
						}

						seriNumberPattern = seriNumberPattern.replace(m.group(0), month);

					} else if (r.toString().equals(yearPattern)) {

						tmp = tmp.replaceAll(tmp.charAt(0) + StringPool.BLANK, String.valueOf(0));

						if (year.length() < tmp.length()) {
							year = tmp.substring(0, tmp.length() - year.length()).concat(year);
						} else if (year.length() > tmp.length()) {
							year = year.substring(year.length() - tmp.length(), year.length());
						}

						seriNumberPattern = seriNumberPattern.replace(m.group(0), year);

					}
					m = r.matcher(seriNumberPattern);
				}
			}

			documentTypeNumber = seriNumberPattern;
		}
		return documentTypeNumber;
	}
 
源代码16 项目: suro   文件: RoutingKeyFilter.java
@JsonCreator
public RoutingKeyFilter(@JsonProperty(JSON_PROPERTY_REGEX) String regex) {
    filterPattern = Pattern.compile(regex);
}
 
源代码17 项目: openjdk-8   文件: IPv6.java
public static void main(String[] args) throws Exception {

        String[][] kdcs = {
                {"simple.host", null},  // These are legal settings
                {"simple.host", ""},
                {"simple.host", "8080"},
                {"0.0.0.1", null},
                {"0.0.0.1", ""},
                {"0.0.0.1", "8080"},
                {"1::1", null},
                {"[1::1]", null},
                {"[1::1]", ""},
                {"[1::1]", "8080"},
                {"[1::1", null},        // Two illegal settings
                {"[1::1]abc", null},
        };
        // Prepares a krb5.conf with every kind of KDC settings
        PrintStream out = new PrintStream(new FileOutputStream("ipv6.conf"));
        out.println("[libdefaults]");
        out.println("default_realm = V6");
        out.println("kdc_timeout = 1");
        out.println("[realms]");
        out.println("V6 = {");
        for (String[] hp: kdcs) {
            if (hp[1] != null) out.println("    kdc = "+hp[0]+":"+hp[1]);
            else out.println("    kdc = " + hp[0]);
        }
        out.println("}");
        out.close();

        System.setProperty("sun.security.krb5.debug", "true");
        System.setProperty("java.security.krb5.conf", "ipv6.conf");

        ByteArrayOutputStream bo = new ByteArrayOutputStream();
        PrintStream po = new PrintStream(bo);
        PrintStream oldout = System.out;
        System.setOut(po);

        try {
            Subject subject = new Subject();
            Krb5LoginModule krb5 = new Krb5LoginModule();
            Map<String, String> map = new HashMap<>();
            Map<String, Object> shared = new HashMap<>();

            map.put("debug", "true");
            map.put("doNotPrompt", "true");
            map.put("useTicketCache", "false");
            map.put("useFirstPass", "true");
            shared.put("javax.security.auth.login.name", "any");
            shared.put("javax.security.auth.login.password", "any".toCharArray());
            krb5.initialize(subject, null, shared, map);
            krb5.login();
        } catch (Exception e) {
            // Ignore
        }

        po.flush();

        System.setOut(oldout);
        BufferedReader br = new BufferedReader(new StringReader(
                new String(bo.toByteArray())));
        int cc = 0;
        Pattern r = Pattern.compile(".*KrbKdcReq send: kdc=(.*) UDP:(\\d+),.*");
        String line;
        while ((line = br.readLine()) != null) {
            Matcher m = r.matcher(line.subSequence(0, line.length()));
            if (m.matches()) {
                System.out.println("------------------");
                System.out.println(line);
                String h = m.group(1), p = m.group(2);
                String eh = kdcs[cc][0], ep = kdcs[cc][1];
                if (eh.charAt(0) == '[') {
                    eh = eh.substring(1, eh.length()-1);
                }
                System.out.println("Expected: " + eh + " : " + ep);
                System.out.println("Actual: " + h + " : " + p);
                if (!eh.equals(h) ||
                        (ep == null || ep.length() == 0) && !p.equals("88") ||
                        (ep != null && ep.length() > 0) && !p.equals(ep)) {
                    throw new Exception("Mismatch");
                }
                cc++;
            }
        }
        if (cc != kdcs.length - 2) {    // 2 illegal settings at the end
            throw new Exception("Not traversed");
        }
    }
 
源代码18 项目: stratio-cassandra   文件: OptionSimple.java
public OptionSimple(String prefix, String valuePattern, String defaultValue, String description, boolean required)
{
    this(prefix, Pattern.compile(Pattern.quote(prefix), Pattern.CASE_INSENSITIVE),
         Pattern.compile(valuePattern, Pattern.CASE_INSENSITIVE), defaultValue, description, required);
}
 
源代码19 项目: TrMenu   文件: Mat.java
Option(String pattern) {
    this.pattern = Pattern.compile("(?i)" + pattern);
}
 
源代码20 项目: roncoo-pay   文件: ValidateUtils.java
/**
 * 是否为合法MAC地址,验证十六进制格式
 * 
 * @param mac
 * @return
 */
public static boolean isMac(String mac) {
	Pattern pattern = Pattern.compile("^([0-9a-fA-F]{2})(([\\s:-][0-9a-fA-F]{2}){5})$");
	return pattern.matcher(mac).matches();
}