ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
555
555
EMPFEHLEN
-
Hallo
ich habe einen String, der z.B. so aussieht:
Code :1 2
String testStr = "Hier steht irgend ein 003 text25 der1 nicht0 relevant ist aber $_VAR005 ist interessant und die 005 will ich haben!"; String[] match = testStr.split("\\$_VAR[0-9]{0,3}");
in match steht mein testStr als String[] Array, die einzelnen Elemente enthalten jeweils 1 Char aus meinem String.
Irgend etwas stimmt da nicht... ich brauche die dreistellige Zahl nach $_VAR (und nur diese!), wobei diese aber auch ein oder zweistellig sein kann.
Erkennt hier jemand was da faul ist? Stimmt mit meiner RegExp irgend etwas nicht, oder ist split() nicht mein Kandidat?
Gruß
JavaUncle
-
09.05.08 19:31 #2
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
schau mal hier:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
/** * */ package de.tutorials; /** * @author Tom * */ public class RegexTest { /** * @param args */ public static void main(String[] args) { String testStr = "Hier steht irgend ein 003 text25 der1 nicht0 relevant ist aber $_VAR005 ist interessant und die 005 will ich haben!"; System.out.println(testStr.replaceAll(".*\\$_VAR(\\d{3}).*", "$1")); } }
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
Ich habe auch ein Regexp-Problemchen. Und zwar habe ich folgendes String:
1 ...
2 ' hier ist ein Komentar
3 ...
4 <codeschnippsel> 'hier ist ein Kommentar am Zeilenende
5 ...
6 <code String("hier steht ein 'Text' der zum Code gehört")>
7 ...
8 ' noch ein Kommentar
So, nun möchte ich mir nur die Kommentare anzeigen lassen. Also nur Zeile 2, letzen Teil von 4 und Zeile 8. Ausgeschlossen soll der Bereich im String sein, der mit ' eingeschlossen ist.
Meine Ansätze sahen wie folgt aus:
1) .*'.* <- ohne DOTALL zeigt dieses die gesamte Zeile an
2) '.* <- ohne DOTALL zeigt dieses zwar das Kommentar an, aber es wird auch Zeile 6 mit einbezogen
Nun fehlt noch das Extrahieren von Zeile 6 und an diesem Punkt komme ich nicht weiter. Hat da jemand eine Lösung bzw. ein Tipp?
Grüße
Hardie
-
Hi Hardie,
auf die Schnelle würde ich das so machen:
Code java:1 2 3 4 5 6
Pattern pattern = Pattern.compile("'.*"); Matcher matcher = pattern.matcher(code.replaceAll("\".*?\"", "")); while (matcher.find()) { System.out.println(matcher.group(0)); }
Gruß
joschi
-
So funktioniert es wie gewünscht. Dass ich da nicht selbst drauf gekommen bin...
..Nun habe ich noch eine andere Sache. Und zwar möchte ich folgenden String validieren:
'------------------------------------------------------------------------------
'NAME: nicht_valutierte_Passiva
'PURPOSE: Provides data for audit trail functionality
'
'REVISIONS:
' Ver Date Author Description
' --------- -------- --------------- -------------------------------------
' 1.0 20061218 Peter Schmidt Commented this procedure.
'
'NOTES:
' Each CRDB table contains the administrative fields
' - [InsertTimestamp], [InsertUser] for information about record creation and
' - [UpdateTimestamp], [UpdateUser] for information about record modification
' These fields are filled by SetAdminInfo usually when a record is stored.
'
'------------------------------------------------------------------------------
Mein Ansatz war folgender:
Code :1
^'-+([\r\n]{1,2})'NAME:([ \t]*)[\w\d]+\1'PURPOSE:\2([\w\d \t])+\1'\1'REVISIONS:\1'\2...etc
Leider scheitert diese Suche bei mir, wenn ich "\2" verwende. Setze ich dagegen den Inhalt aus dem zweiten Klammernpaar direkt an die Stellen ein, funktioniert die Sache. Mit "\1" habe ich dagegen keine Probleme. Laut Tutorials sind doch die offenen Klammern zu zählen, um auf die Zahl zu kommen, oder übersehe ich da was?
Ähnliche Themen
-
Extrahieren eines String aus einem Image
Von raphael_fehlmann im Forum JavaAntworten: 5Letzter Beitrag: 23.11.09, 22:44 -
ein Teil der URL extrahieren
Von cofter im Forum PHPAntworten: 7Letzter Beitrag: 20.08.08, 13:50 -
Einen Teil aus einem String herausschneiden. RegExp?
Von visionsign im Forum PHPAntworten: 2Letzter Beitrag: 19.04.06, 22:13 -
URL aus einem String extrahieren, mit reg. Ausdrücken?
Von Math55 im Forum JavaAntworten: 1Letzter Beitrag: 18.11.05, 15:42 -
teil von x nach y aus einem string auslesen
Von Brauni im Forum PHPAntworten: 3Letzter Beitrag: 11.10.04, 10:15





Zitieren

Login





