PREG-ähnliches RegEx mit Java

Die PREG_-Funktionen von PHP sind sehr einfach zu verwenden und sehr mächtig.

Ich habe die Einfachheit bei Java vermisst. Java ist da sehr viel komplexer. Also habe ich die Java Funktionalität in Methoden verpackt, die von der Struktur den PHP-Funktionen sehr gleichen und sich auch genau so verwenden lassen. Etwas Prozedur-orientiertes Programmieren in Java.


package de.hannespries.commons.regex;

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class PREG {

public PREG() {

}

public static String replace(String pattern, String replacement, String source, boolean caseSensitive) {
Pattern patternObj = Pattern.compile(pattern, Pattern.MULTILINE);
if (!caseSensitive) {
patternObj = Pattern.compile(pattern, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
}
Matcher matcher = patternObj.matcher(source);
String parsed = matcher.replaceAll(replacement);
return parsed;
}

public static String replace(String pattern, String replacement, String source) {
return replace(pattern, replacement, source, true);
}

public static boolean match(String pattern, String source) {
Pattern patternObj = Pattern.compile(pattern, Pattern.MULTILINE);
Matcher matcher = patternObj.matcher(source);
return matcher.matches();
}

public static boolean matchFind(String pattern, String source) {
Pattern patternObj = Pattern.compile(pattern, Pattern.MULTILINE);
Matcher matcher = patternObj.matcher(source);
return matcher.find();
}

public static List<String> matchAll(String pattern, String source) {
List<String> result = new ArrayList<String>();
Matcher m = Pattern.compile(pattern).matcher(source);
while (m.find()) {
result.add(m.group());
}
return result;
}

public static List<String> split(String pattern, String source) {
String[] parts = source.split(pattern);
List<String> list = new ArrayList<String>();
for (int ii = 0; ii < parts.length; ii++) {
list.add(parts[ii]);
}
return list;
}

public static List<String> find(String pattern, String source) {
List<String> result = new ArrayList<String>();
Pattern compiled = Pattern.compile(pattern);
Matcher matcher = compiled.matcher(source);
while (matcher.find()) {
result.add(matcher.group());
}

return result;
}
}
User annonyme 2016-01-21 21:21

write comment:
Six + = 13

Möchtest Du AdSense-Werbung erlauben und mir damit helfen die laufenden Kosten des Blogs tragen zu können?