RegEx Ausdruck in Java


#1
Hi,

ich habe da einen String Ausdruck den ich gerne per RegEx bearbeitet haben wollte.

Da ich den PHP Part hier etwas beschrieben habe würde ich gerne das gleiche für Java haben wollen:

http://www.tutorials.de/php/393124-regex-ausdruck.html

Mit
Code:
([^ \"]+)|\"([^\"]+)\"
erhalte ich zwar ein 4 Stelliges Array. Dies ist aber Leer.

ein Beispiel hierzu:

Code:
"test1 test2" test3 test4 "test5 und test6"

folgend aufspalten:

test1 test2
test3
test4
test5 und test6
 
Zuletzt bearbeitet:
#3
Hi

habe es in html geändert, danke.

und zum code:


Code:
		String SearchText = txtTextansicht.getText();
		
		
		
		String [] splitResult = SearchText.split("([^ \"]+)|\"([^\"]+)\"");
		
		//pattern = '/([^ "]+)|"([^"]+)"/';
		
		
		for(int i = 0; i < splitResult.length; i++ )
			System.out.println( splitResult[i].trim() );
 

deepthroat

Erfahrenes Mitglied
#4
Du darfst natürlich nicht split nehmen. Split splittet den String an den Stellen auf, auf die der reguläre Ausdruck passt, wobei die Trennstellen dann verworfen werden. Klar, dass dann nur noch Leerzeichen in dem Array sind.

Bsp:

"a, b, c, d".split(", *") => ["a", "b", "c", "d"]

Du müßtest wie in PHP auch die Übereinstimmungen (matches) durchgehen. Siehe http://docs.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html und
 

Neue Beiträge