Hallo!
Ich habe schon viel mit regulären Ausdrücken in Powershell geskriptet und kenne mich eigentlich sehr gut aus mit denen.
Jedenfalls soll ich einen Formelparser schreiben. Die Formel wird von einer Textdatei eingelesen und als String zwischen gespeichert. Jetzt wollte ich die Formel auf ungültige Zeichen prüfen.
Erst einmal wollte ich nur testen, ob sich Buchstaben in dem String befinden.
Ich hab mal hier eine kleine Testmethode geschrieben, ob der reguläre Ausdruck matched.
Auch wenn ich für den regex eine Mengenangabe mache wie: "[A-Za-z]" wird der angegebene String nicht gematched. Das einzige was gematched wird ist ".*" aber das ist ja klar.
Seht ihr meinen Fehler?
Ich habe schon viel mit regulären Ausdrücken in Powershell geskriptet und kenne mich eigentlich sehr gut aus mit denen.
Jedenfalls soll ich einen Formelparser schreiben. Die Formel wird von einer Textdatei eingelesen und als String zwischen gespeichert. Jetzt wollte ich die Formel auf ungültige Zeichen prüfen.
Erst einmal wollte ich nur testen, ob sich Buchstaben in dem String befinden.
Ich hab mal hier eine kleine Testmethode geschrieben, ob der reguläre Ausdruck matched.
Java:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "aufgrund sinnlosem Schein wird nicht gematched";
String regex = "\\w+";
// Backslash im Java Sourcecode verdoppeln!
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
if (matcher.matches()) {
System.out.println("MATCH");
}
}
}
Auch wenn ich für den regex eine Mengenangabe mache wie: "[A-Za-z]" wird der angegebene String nicht gematched. Das einzige was gematched wird ist ".*" aber das ist ja klar.
Seht ihr meinen Fehler?