regexp String.split()-hez
Sziasztok!
Szükségem van egy olyan regexp-re String.split()-hez ami akár több egymást követő /-nél \/ kivételével bontja ezt "File/Open\\/Save". Odáig jutottam, hogy bontsa a /-(ek)nél. Mivel bővítsem a regexp-et, hogy ne bontsa \/-(ek)nél? Ezzel próbálkoztam:Ez nem jó, mert /+ ellentéte [^\\\\/].
■ Szükségem van egy olyan regexp-re String.split()-hez ami akár több egymást követő /-nél \/ kivételével bontja ezt "File/Open\\/Save". Odáig jutottam, hogy bontsa a /-(ek)nél. Mivel bővítsem a regexp-et, hogy ne bontsa \/-(ek)nél? Ezzel próbálkoztam:
String menu = "File/Open\\/Save";
String regexp = "[/+&&[^\\\\/]]";
Negative look behind
Eredmény:
File
,Open\\/Save
Exception in thread "main"
(?<!\)/+
^
at java.util.regex.Pattern.error(Pattern.java:1713)
at java.util.regex.Pattern.group0(Pattern.java:2488)
at java.util.regex.Pattern.sequence(Pattern.java:1806)
at java.util.regex.Pattern.expr(Pattern.java:1752)
at java.util.regex.Pattern.compile(Pattern.java:1460)
at java.util.regex.Pattern.<init>(Pattern.java:1133)
at java.util.regex.Pattern.compile(Pattern.java:823)
at java.lang.String.split(String.java:2292)
at java.lang.String.split(String.java:2334)
at notepad.Notepad.main(Notepad.java:20)
Java Result: 1
?
Escape
\
jelet. Amit én írtam reguláris kifejezésnek az(?<!\\)/+
ami nem egyezik meg a"(?<!\\)/+"
stringgel. Talán a következő működik Java alatt:"(?<!\\\\)/+"
Köszönöm megosztani néhány
____________
Discount Golf
TaylorMade Burner 2.0 Irons
Thank you to share some
A központozása viszont jobb, mint sok magyar anyanyelvűé.
Köszönöm a 2. regexp
/*Matcher m = p.matcher("File/Open\\/Save");
System.out.print(m.groupCount())*/
1 BUILD SUCCESSFUL (total time: 1 second)
//System.out.print(m.group())
Exception in thread "main" java.lang.IllegalStateException: No match found
A mintát erre "(?<!\\\\)(/+)" módosítottam, mert azokat a /-(eke)t akarom megtalálni amik előtt nincs \.