Wyrażenia regularne w Javie
Chciałam pochwalić się pięknym wyrażeniem regularnym (regex) użytym w moim programie.
Matcher match = find("^\\[(.*)\\]\\{\\[(.*)\\]\\}\\(\\[(.*)\\]\\)\\|
\\[(.*)\\]\\|\\<\\[(.*)\\]\\>\\\\\\[(.*)\\],,,\\[(.*)\\]\\\\$", str);
Biorąc pod uwagę, że jeszcze rośnie optymiztycznie to nie wygląda, jak zawyczaj przy używaniu wyrażeń regularnych. Dostać się do poszczególnych cześci wyrażenia można przez wywołanie metody: match.group(numer), gdzie jeśli pod numer wstawimy 0 otrzymamy wszystkie cześci, 1 otrzymamy pierwsze wyrażenie umieszczone pomiędzy znakami [], 2 otrzymamy wyrażenie umieszczone między znakami {} itd.
Tak więc czerpiąc z internetu mądre myśli:
Potrzebne biblioteki:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Znajdź wyrażenie patternStr w Stringu input)
*/
public static Matcher find(String patternStr, CharSequence input) {
Pattern pattern = Pattern.compile(patternStr);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
return matcher;
}
return null;
}
Posted on Sun, 7 May 2006 17:21 by leeloo (844 day(s) old) Trackbacks [0]




