本文整理匯總了Java中java.util.regex.Pattern.compile方法的典型用法代碼示例。如果您正苦於以下問題:Java Pattern.compile方法的具體用法?Java Pattern.compile怎麽用?Java Pattern.compile使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類java.util.regex.Pattern
的用法示例。
在下文中一共展示了Pattern.compile方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: replaceParameter
import java.util.regex.Pattern; //導入方法依賴的package包/類
/**
* 替換url中參數的值。
*/
public static String replaceParameter(String query, String key, String value) {
if (query == null || query.length() == 0) {
return key + "=" + value;
}
if (query.indexOf(key + "=") == -1) {
return query + "&" + key + "=" + value;
}
Pattern pattern = REPLACE_PARAMETER_PATTERNS.get(key);
if (pattern == null) {
pattern = Pattern.compile(key.replaceAll("([^(_0-9A-Za-z)])", "\\\\$0") + "=[^&]+");
}
Matcher matcher = pattern.matcher(query);
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
matcher.appendReplacement(sb, (key + "=" + value).replace("$", "\\$"));
}
matcher.appendTail(sb);
return sb.toString();
}
示例2: denomMatchers
import java.util.regex.Pattern; //導入方法依賴的package包/類
ScaleMatcher[] denomMatchers() {
ScaleMatcher[] result = denoms;
if (result == null) { synchronized(this) {
result = denoms;
if (result == null) {
if (! coinSymbol().matches(ci)) ci = ci.replaceFirst("\\(", "(" + coinSymbol() + "|");
if (! coinCode().matches(ci)) {
ci = ci.replaceFirst("\\)", "|" + coinCode() + ")");
}
coinPattern = Pattern.compile(ci + "?");
result = denoms = new ScaleMatcher[]{
new ScaleMatcher(Pattern.compile("¢" + ci + "?|c" + ci), 2), // centi
new ScaleMatcher(Pattern.compile("₥" + ci + "?|m" + ci), MILLICOIN_SCALE),
new ScaleMatcher(Pattern.compile("([µu]" + ci + ")"), MICROCOIN_SCALE),
new ScaleMatcher(Pattern.compile("(da" + ci + ")"), -1), // deka
new ScaleMatcher(Pattern.compile("(h" + ci + ")"), -2), // hekto
new ScaleMatcher(Pattern.compile("(k" + ci + ")"), -3), // kilo
new ScaleMatcher(Pattern.compile("(M" + ci + ")"), -6) // mega
};
}
}}
return result;
}
示例3: extractEscapedComments
import java.util.regex.Pattern; //導入方法依賴的package包/類
/**
* Returns a list which contains comments of the string entry in the constant pool
* and the appropriate UTF-8 value.
*
* @return a list
*/
private List<String> extractEscapedComments(String output) {
List<String> result = new ArrayList<>();
Pattern stringPattern = Pattern.compile(" +#\\d+ = String +#(\\d+) +// +(.*)");
int index = -1;
List<String> cp = extractConstantPool(output);
for (String c : cp) {
Matcher matcher = stringPattern.matcher(c);
if (matcher.matches()) {
index = Integer.parseInt(matcher.group(1)) - 1;
result.add(matcher.group(2));
// only one String entry
break;
}
}
check(index == -1, "Escaped string is not found in constant pool");
result.add(cp.get(index).replaceAll(".* +", "")); // remove #16 = Utf8
return result;
}
示例4: compareBranches
import java.util.regex.Pattern; //導入方法依賴的package包/類
protected int compareBranches() {
String val1 = ((StringNode) left).getValue();
String val2 = ((StringNode) right).getValue();
int val2Len = val2.length();
if (val2Len > 1 && val2.charAt(0) == '/' && val2.charAt(val2Len - 1) == '/') {
// Treat as a regular expression
String expr = val2.substring(1, val2Len - 1);
try {
Pattern pattern = Pattern.compile(expr);
// Regular expressions will only ever be used with EqualNode
// so return zero for equal and non-zero for not equal
if (pattern.matcher(val1).find()) {
return 0;
} else {
return -1;
}
} catch (PatternSyntaxException pse) {
ssiMediator.log("Invalid expression: " + expr, pse);
return 0;
}
}
return val1.compareTo(val2);
}
示例5: getNameSpace
import java.util.regex.Pattern; //導入方法依賴的package包/類
/**
* UserDataの名前空間を取得する.
* @param entityType エンティティタイプ名
* @param col コレクション名
* @return UserDataの名前空間
*/
protected String getNameSpace(String entityType, String col) {
// NameSpace取得のためにメタデータを取得する
TResponse res = Http.request("box/$metadata-$metadata-get.txt")
.with("path", "\\$metadata")
.with("col", col)
.with("accept", "application/xml")
.with("token", PersoniumUnitConfig.getMasterToken())
.returns()
.statusCode(HttpStatus.SC_OK)
.debug();
Pattern pattern = Pattern.compile("Namespace=\"([^\"]+)\">");
Matcher matcher = pattern.matcher(res.getBody());
matcher.find();
return matcher.group(1) + "." + entityType;
}
示例6: Finder
import java.util.regex.Pattern; //導入方法依賴的package包/類
/**
* Constructor for Finder.
*/
public Finder(
HTMLEditor theEditor,
String find,
boolean wholeWord,
boolean matchCase,
boolean regexp,
String replace) {
super();
editor = theEditor;
dispText = find;
int flags = Pattern.DOTALL;
if (!matchCase)
flags = flags + Pattern.CASE_INSENSITIVE + Pattern.UNICODE_CASE;
_find = find;
if (!regexp)
_find = "\\Q" + _find + "\\E";
if (wholeWord)
_find = "[\\s\\p{Punct}]" + _find + "[\\s\\p{Punct}]";
try {
pattern = Pattern.compile(_find, flags);
}
catch (Exception ex) {
ex.printStackTrace();
pattern = null;
}
_replace = replace;
}
示例7: parseSubjectPermissions
import java.util.regex.Pattern; //導入方法依賴的package包/類
private Map<Long, Set<String>> parseSubjectPermissions(Properties properties, long subjectID) {
Map<Long, Set<String>> permissions = new HashMap<>();
Pattern permissionPattern = Pattern.compile(SUBJECT_PERMISSION_KEY.replace("{id}", String.valueOf(subjectID)));
for (String key : properties.stringPropertyNames()) {
Matcher matcher = permissionPattern.matcher(key);
if (!matcher.matches()) continue;
// Extract organizationID from key and parse function (group) names.
permissions.put(Long.parseUnsignedLong(matcher.group(1)), parseStringMembers(properties, key));
}
return permissions;
}
示例8: isValid
import java.util.regex.Pattern; //導入方法依賴的package包/類
@Override
public boolean isValid(final Object value, ConstraintValidatorContext context) {
if (value == null || "".equals(value)) {
return true;
} else if (!StringUtil.isEmpty(validateRegexp.regexp())) {
Pattern pattern = Pattern.compile(validateRegexp.regexp());
Matcher matcher = pattern.matcher(value.toString().replaceAll("/", ""));
return matcher.matches();
}
return false;
}
示例9: main
import java.util.regex.Pattern; //導入方法依賴的package包/類
public static void main(String[] args) throws IOException{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
StringBuilder string = new StringBuilder();
string.append(reader.readLine());
String regex = "(?<num>(\\d+)|^)(?<op>[^0-9]+|$)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(string);
Double result = 0d;
boolean plus = true;
while(matcher.find()){
/*System.out.println("full match " + matcher.group(0));
System.out.println("num is " + matcher.group("num"));
System.out.println("operator is " + (matcher.group("op").length() % 2 == 0 ? "+" : "-"));*/
Double num = 0d;
if(!matcher.group("num").isEmpty()){
num = Double.parseDouble(matcher.group("num"));
}
if(plus){
result += num;
} else {
result -= num;
}
plus = matcher.group("op").length() % 2 == 0;
}
DecimalFormat myFormat = new DecimalFormat("0.#######");
System.out.println(myFormat.format(result));
}
示例10: globItem
import java.util.regex.Pattern; //導入方法依賴的package包/類
private Set<Index> globItem(String item, Set<Index> full)
{
Set<Index> ret = new HashSet<Index>();
Pattern glob = Pattern.compile('^' + item.trim().replace("*", ".*") + '$');
for (Index idx : full) {
if (glob.matcher(idx.getCode()).find())
ret.add(idx);
}
return ret;
}
示例11: match
import java.util.regex.Pattern; //導入方法依賴的package包/類
/**
* <p>正則提取匹配到的內容</p>
* <p>例如:</p>
* </br>
* author : Crab2Died</br>
* date : 2017年06月02日 15:49:51</br>
*
* @param pattern 匹配目標內容
* @param reg 正則表達式
* @param group 提取內容索引
* @return 提取內容集合
* @throws {@link RuntimeException}
*/
static
public List<String> match(String pattern, String reg, int group)
throws RuntimeException {
List<String> matchGroups = new ArrayList<>();
Pattern compile = Pattern.compile(reg);
Matcher matcher = compile.matcher(pattern);
if (group > matcher.groupCount() || group < 0)
throw new RuntimeException("Illegal match group :" + group);
while (matcher.find()) {
matchGroups.add(matcher.group(group));
}
return matchGroups;
}
示例12: fiterHtmlTag
import java.util.regex.Pattern; //導入方法依賴的package包/類
/**
* 基本功能:過濾指定標簽
*
* @param str
* @param tag 指定標簽
* @return String
*/
public static String fiterHtmlTag(String str, String tag) {
String regxp = "<\\s*" + tag + "\\s+([^>]*)\\s*>";
Pattern pattern = Pattern.compile(regxp);
Matcher matcher = pattern.matcher(str);
StringBuffer sb = new StringBuffer();
boolean result1 = matcher.find();
while (result1) {
matcher.appendReplacement(sb, "");
result1 = matcher.find();
}
matcher.appendTail(sb);
return sb.toString();
}
示例13: test26
import java.util.regex.Pattern; //導入方法依賴的package包/類
@Test(timeout = 4000)
public void test26() throws Throwable {
Configuration configuration0 = new Configuration();
Pattern pattern0 = Pattern.compile("7e:P");
configuration0.setAllowPartitionNameFilter(pattern0);
Pattern pattern1 = configuration0.getAllowPartitionNameFilter();
assertEquals(0, pattern1.flags());
}
示例14: createClassGlobPattern
import java.util.regex.Pattern; //導入方法依賴的package包/類
private static Pattern createClassGlobPattern(String pattern) {
if (pattern.length() == 0) {
return null;
} else if (pattern.contains(".")) {
return Pattern.compile(createGlobString(pattern));
} else {
return Pattern.compile("([^\\.\\$]*[\\.\\$])*" + createGlobString(pattern));
}
}
示例15: parse
import java.util.regex.Pattern; //導入方法依賴的package包/類
public BasicDBObject parse(IRule rule, JsonRuleParser parser) {
BasicDBObject operate = new BasicDBObject("$regex", Pattern.compile("(?<!" + rule.getValue() + ")$"));
return new BasicDBObject(rule.getField(), operate);
}