Reg Exp

Status
Nicht offen für weitere Antworten.

Dit

Bekanntes Mitglied
Hallo,

wie kann ich 2 Kriterien an einen RegExp stellen z.b. lasse alle Zahlen zu und Bindestriche ("-")

mein Vorschlag war: /^[0-9]|-{1}$/; aber das klappt leider nicht so ganz!
habe auch schon gegoogled wie nen Weltmeister und in Büchern gestöbert... einfach keine Lösung! ???:L


danke!
:D
 

André Uhres

Top Contributor
\b\d+\b-?
Code:
       String source = "12- 14 156- 45";
        Pattern regex = Pattern.compile("\\b\\d+\\b-?");
        Matcher regexMatcher = regex.matcher(source);
        while (regexMatcher.find()) {
            System.out.println(regexMatcher.group());
        }
 

Dit

Bekanntes Mitglied
mmhh :?

ich glaube meine Frage war nicht zu konkret gestellt :!:

ich hab ein String: R001C001L001S---.0---0;

aus diesem String sollen dann die Zahlen und Bindestriche gefiltert werden

es kann aber auch sein, dass der String so aussieht

String: R001C001L001S001.00010;
oder
String: R---C---L---S---.0---0;

ich habe bereits einen Regulären Ausdruck der mir den String teilstrings zerlegt.
und bei diesem TeilString sollen dann nur Dezimalzahlen und "-" auf 3 Stellen zu gelassen werden.

kurz gesagt könnte es auch ein Textfeld sein, wo nur --- und dezimalzahlen auf 3 Stellen eingeben werden dürfen! :wink:
 

Dit

Bekanntes Mitglied
erledigt

Code:
public class RegExp {
	public static void main (String args[]){

        String source = "---66"; 
        
        // --> \b\d+\b-? 
        // --> \\d\\d\\d|---
        
        Pattern regex = Pattern.compile("\\d\\d\\d|---"); 
        Matcher regexMatcher = regex.matcher(source); 
        while (regexMatcher.find()) { 
            System.out.println(regexMatcher.group()); 
        }
	}
}
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben