Aus Regulären Ausdrücken Zufallszahlen bilden

frw-online

Mitglied
Hallo,

ich habe folgendes Problem: ich lade ein Check Konstraint von einer datenbank der zb so aussieht ([emp_id] like '[A-Z][A-Z][A-Z][1-9][0-9][0-9][0-9][0-9][FM]' OR [emp_id] like '[A-Z]-[A-Z][1-9][0-9][0-9][0-9][0-9][FM]')
jetzt will ich anhand dieser informationen also den regulären ausdrücken Zufallswerte generieren. Kann mir da jemand sagen wie ich das realisieren kann???
Gerne mit einem Beispielcode

Danke

Grüße
frw-online
 

Haave

Top Contributor
Hm, ich bin kein Experte auf dem Gebiet, aber dann müsste bspw. der reguläre Ausdruck
Code:
[0-9]
ja ähnlich wie ein int-Array funktionieren, so dass du ein zufälliges Element aus ihm ziehen könntest, aber ich glaube nicht, dass die RegEx die Werte von 0 bis 9 auch tatsächlich "hält", so dass mit ihnen etwas anzufangen wäre…
Wie gesagt, nur eine Vermutung. :)
 

Ark

Top Contributor
Zunächst vereinfachen:
Code:
[A-Z]([A-Z]|-)[A-Z][1-9][0-9]{4}[FM]
Bitte mal prüfen und was schreiben, wenn der Ausdruck nicht stimmen sollte.

Code folgt. Ich editier' ihn dann hier rein. :D

Ark

EDIT: So, wie versprochen: der Code. :D

Java:
public final class Generator{

	public static void main(String[] args){
		for(int i=0;i<10;i++){
			System.out.println(generateInput());
		}
	}

	//   [A-Z]([A-Z]|-)[A-Z][1-9][0-9]{4}[FM]
	private static String generateInput(){
		StringBuilder sb=new StringBuilder();
		sb.append(charBetween('A','Z'));
		switch(alternative(2)){
			case 0:
				sb.append(charBetween('A','Z'));
				break;
			case 1:
				sb.append('-');
				break;
		}
		sb.append(charBetween('A','Z'));
		sb.append(charBetween('1','9'));
		for(int i=0;i<4;i++){
			sb.append(charBetween('0','9'));
		}
		switch(alternative(2)){
			case 0:
				sb.append('F');
				break;
			case 1:
				sb.append('M');
				break;
		}
		return sb.toString();
	}
	private static char charBetween(char a,char b){
		return (char)((int)(Math.random()*(b-a))+a);
	}
	private static int alternative(int n){
		return (int)(Math.random()*n);
	}
}
Ist es das, wonach du fragtest?

Ark
 
Zuletzt bearbeitet:

frw-online

Mitglied
Problem ist nur, ich hole die Check Bedingungen von der Datenbank direkt und kann nicht wissen wie die Check Bedingung von der DB aussieht. also muss mein programm variabel Arbeiten, so das es Verschiedene reguläre Ausdrücke verarbeitet.
Ich hoffe ihr versteht was ich meine :D

Grüße,

frw-online
 

Ark

Top Contributor
Hm, okay, das ist dann natürlich etwas trickreicher. :D

Was ist denn mit der OR-Verknüpfung in der Abfrage? Kannst du schon damit umgehen, dass man sich also wirklich nur auf die Regex stürzen muss? Wenn nicht: Hm, das wird schwierig. ;)

Wenn aber doch nur Regex verarbeitet werden müssen (und du mit den weiteren Möglichkeiten der Abfrage bereits umgehen kannst!): Ich vermute ja, dass es dafür schon irgendwo im Internet eine Lösung gibt. ;) Wenn du keine finden kannst: Spannende Sache, zugegeben. Leider habe ich gerade keine Zeit, mich damit tiefergehend auseinanderzusetzen.

Sind es denn so viele Stellen, wo das nötig ist? Vielleicht reicht es ja auch, das manuell zu machen.

Ark
 

frw-online

Mitglied
Naja das mit dem OR muss ja Prinzipiell nicht betrachtet werden da es ja nur eine ODER Bedingung ist. An und für sich sollte es auch kein Problem sein den String ([emp_id] like '[A-Z][A-Z][A-Z][1-9][0-9][0-9][0-9][0-9][FM]' OR [emp_id] like '[A-Z]-[A-Z][1-9][0-9][0-9][0-9][0-9][FM]') zu verkleinern so das ich nur so einen String habe ([A-Z][A-Z][A-Z][1-9][0-9][0-9][0-9][0-9][FM]). Aber wie ich anhand so einen regulären ausdruck ein Zufallswert bilde weiss ich nicht. Es muss aus folgendem Grund dynamisch sein weil ich praktisch mit meinem Programm eine leere Datenbank mit Zufallswerten befüllen. und dies soll mit beliebigen Datenbanken funktionieren.
Wäre super wenn mir jemand helfen kann.

Vielen Dank im vorraus.

frw-online
 

Ark

Top Contributor
Naja das mit dem OR muss ja Prinzipiell nicht betrachtet werden da es ja nur eine ODER Bedingung ist.
Falls es dir aufgefallen ist: diese "nur eine ODER Bedingung" hat Einfluss auf den Regex gehabt. ;)

An und für sich sollte es auch kein Problem sein den String ([emp_id] like '[A-Z][A-Z][A-Z][1-9][0-9][0-9][0-9][0-9][FM]' OR [emp_id] like '[A-Z]-[A-Z][1-9][0-9][0-9][0-9][0-9][FM]') zu verkleinern so das ich nur so einen String habe ([A-Z][A-Z][A-Z][1-9][0-9][0-9][0-9][0-9][FM]).
Wenn du das wirklich (also vor allem sauber) kannst, dann kannst du auch gleich das OR berücksichtigen.

Aber wie ich anhand so einen regulären ausdruck ein Zufallswert bilde weiss ich nicht.
Wenn du das OR von gerade eben berücksichten kannst, dann solltest du auch das lösen können. ;)

Ark
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Regulären Ausdrücken Java Basics - Anfänger-Themen 8
F Frage zu regulären Ausdrücken Java Basics - Anfänger-Themen 4
S Frage zu regulären Ausdrücken Java Basics - Anfänger-Themen 6
B Nach regulären Ausdrücken suchen Java Basics - Anfänger-Themen 14
A Counter für die anzahl von regulären ausdrücken Java Basics - Anfänger-Themen 4
O regulären Ausdrücken Java Basics - Anfänger-Themen 2
T HTML Kommentare mit regulären Ausdrücken entfernen Java Basics - Anfänger-Themen 4
D Klammern in regulären Ausdrücken Java Basics - Anfänger-Themen 2
G Problem mit Regulären Ausdrücken Java Basics - Anfänger-Themen 4
berserkerdq2 Wie würde man einen regulären Ausdruck in Java schreiben, der prüft, dass zwei bestimtme Zahlen nicht nebeneinadner sind? Java Basics - Anfänger-Themen 3
K Regulären Ausdruck in Java abbilden Java Basics - Anfänger-Themen 4
A regulären Ausdruck mit Hilfe der Klasse Scanner in einem String finden Java Basics - Anfänger-Themen 2
M Textsuche mit regulären Ausdrucken Java Basics - Anfänger-Themen 6
J Automatentheorie-Darstellung der regulären Sprache eines DEA Java Basics - Anfänger-Themen 5
H Regulären Ausdruck automatisch erstellen Java Basics - Anfänger-Themen 5
E Hilfe bei einem Regulären Ausdruck Java Basics - Anfänger-Themen 7
3 3. Element mit regulären Ausdruck suchen Java Basics - Anfänger-Themen 12
O Gibt es dafür einen regulären Ausdruck? Java Basics - Anfänger-Themen 9
R Regulären Ausdruck geht nicht Java Basics - Anfänger-Themen 2
T Wie sieht ein '.' im regulären Ausdruck aus? Java Basics - Anfänger-Themen 2
G Wie erstellt man komplexen regulären Ausdruck Java Basics - Anfänger-Themen 5
C Interface Parameter und Rückgabewerte in Lambda Ausdrücken verwenden Java Basics - Anfänger-Themen 16
A Zusammengesetzte Nomen/Straßennamen mit Regex-Ausdrücken trennen Java Basics - Anfänger-Themen 8
sserio Frage zu Lambda Ausdrücken Java Basics - Anfänger-Themen 7
T Operatoren Seiteneffekte bei Auswertung von Ausdrücken Java Basics - Anfänger-Themen 9
E Hilfe bei Lambda-Ausdrücken in BlueJ Java Basics - Anfänger-Themen 1
S Fragen zu Ausdrücken&Bedingungen Java Basics - Anfänger-Themen 5
M Rekursion Iterativ ausdrücken Java Basics - Anfänger-Themen 3
X O-Notation ausdrücken Java Basics - Anfänger-Themen 7
W Datentypen Auswertung von Ausdrücken (Teil 1) Java Basics - Anfänger-Themen 7
J Verschiedene Ausgaben bei gleichen Ausdrücken (Typecasting?) Java Basics - Anfänger-Themen 5
H Zufallszahlen generieren Java Basics - Anfänger-Themen 5
H 36 Zufallszahlen die sich nicht wiederholen Java Basics - Anfänger-Themen 27
J Zufallszahlen generieren und Werte vergleichen Java Basics - Anfänger-Themen 3
S Hilfe : Unendlich viele Zufallszahlen erstellen? Java Basics - Anfänger-Themen 8
J Fehler beim generieren von 4 Zufallszahlen Zahl doppelt ist eigentlich ausgeschlossen Java Basics - Anfänger-Themen 9
S Aus gleichverteilte Zufallszahlen normalverteilte Zufallszahlen generieren ? Java Basics - Anfänger-Themen 1
N Array mit Zufallszahlen und Divison Java Basics - Anfänger-Themen 7
A Mit Rekursion Zufallszahlen erstellen und größte finden Java Basics - Anfänger-Themen 5
S Schiffe versenken - Zufallszahlen in einem Array Java Basics - Anfänger-Themen 6
A Dreidimensionales Array mit Zufallszahlen befüllen Java Basics - Anfänger-Themen 18
J Klassen Math && Random: wie zufällig sind Zufallszahlen? Java Basics - Anfänger-Themen 19
T Methoden HashSet Objekt mit Zufallszahlen befüllen Java Basics - Anfänger-Themen 3
L Array-Problem/Zufallszahlen Java Basics - Anfänger-Themen 7
V Array mit Zufallszahlen - Anfänger - Hilfe Java Basics - Anfänger-Themen 12
B Zufallszahlen ohne Wiederholung Java Basics - Anfänger-Themen 10
D Array mit Zufallszahlen, dann sortieren: Hilfe gesucht! Java Basics - Anfänger-Themen 1
B Zufallszahlen unabhängig von Intervallen Java Basics - Anfänger-Themen 2
J Ungerade Zufallszahlen in JAVA Java Basics - Anfänger-Themen 31
B Zufallszahlen & Laufzeitmessung (insertionSort) Java Basics - Anfänger-Themen 7
W Zufallszahlen Java Basics - Anfänger-Themen 3
R Arrays Zufallszahlen Java Basics - Anfänger-Themen 10
W 10x10 Feld mit Zufallszahlen erstellen Java Basics - Anfänger-Themen 4
B Array erstellen,ausgeben,mit zufallszahlen füllen aber wie ? Java Basics - Anfänger-Themen 1
T Zufallszahlen von x bis 80 Java Basics - Anfänger-Themen 10
P Zufallszahlen ohne zahlen einer List Java Basics - Anfänger-Themen 21
K Keine doppelten Zufallszahlen im Array Java Basics - Anfänger-Themen 17
G Zufallszahlen Gewichten Java Basics - Anfänger-Themen 3
J Zufallszahlen Häufigkeit Java Basics - Anfänger-Themen 8
L 6stellige Zufallszahlen erzeugen & auf einzigartigkeit prüfen Java Basics - Anfänger-Themen 3
W Java 2 Teams mit Zufallszahlen Java Basics - Anfänger-Themen 2
R Keine doppelten Zufallszahlen Java Basics - Anfänger-Themen 2
F Array mit Zufallszahlen sortieren Java Basics - Anfänger-Themen 7
G Methoden BigInteger Zufallszahlen erzeugen Java Basics - Anfänger-Themen 5
X write() und Zufallszahlen Java Basics - Anfänger-Themen 2
L Zufallszahlen addieren Java Basics - Anfänger-Themen 6
J Mehrere Zufallszahlen erzeugen, aber keine darf doppelt erzeugt werden - Wie? Java Basics - Anfänger-Themen 5
T Problem mit Zufallszahlen Java Basics - Anfänger-Themen 2
T Matrizzen addition mit zufallszahlen Java Basics - Anfänger-Themen 10
E Zufallszahlen Java Basics - Anfänger-Themen 7
R Probleme mit Zufallszahlen Java Basics - Anfänger-Themen 10
K Datentypen Gleiche Zufallszahlen in verschiedenen Datenstrukturen Java Basics - Anfänger-Themen 6
C Zufallszahlen mit Arrays Java Basics - Anfänger-Themen 8
P Array mit Zufallszahlen von einem Wuerfel Java Basics - Anfänger-Themen 15
B Zufallszahlen in ein Array eintragen. Java Basics - Anfänger-Themen 7
P Zufallszahlen fuer Lotto generieren Java Basics - Anfänger-Themen 28
L Hilfe, doppelte Zufallszahlen Java Basics - Anfänger-Themen 13
S Wie Zufallszahlen in txt speichern? Java Basics - Anfänger-Themen 4
K zufallszahlen in Array Speichern = Nullpointer exception Java Basics - Anfänger-Themen 24
M Zufallszahlen mit Random Java Basics - Anfänger-Themen 4
S Summe von Zufallszahlen Java Basics - Anfänger-Themen 9
B Zufallszahlen Java Basics - Anfänger-Themen 5
M Zufallszahlen aus einem bestimmten Intervall Java Basics - Anfänger-Themen 5
N Normalverteilte Zufallszahlen mit benutzerdefiniertem/r EW/Var Java Basics - Anfänger-Themen 5
C Zufallszahlen Problem Java Basics - Anfänger-Themen 6
C Zufallszahlen Java Basics - Anfänger-Themen 3
C Frage zur Generierung von Zufallszahlen Java Basics - Anfänger-Themen 9
W Zufallszahlen für Array Java Basics - Anfänger-Themen 3
G Problem mit Zufallszahlen Java Basics - Anfänger-Themen 6
G Zufallszahlen die alles einmal vorkommen Java Basics - Anfänger-Themen 15
G Lotto Zufallszahlen zählen Java Basics - Anfänger-Themen 3
A Zufallszahlen generieren Java Basics - Anfänger-Themen 2
A Problem mit dem Zufallszahlen-Generator Java Basics - Anfänger-Themen 17
J Zufallszahlen einmalig ausgeben Java Basics - Anfänger-Themen 6
B Int Array mit Zufallszahlen füllen Java Basics - Anfänger-Themen 8
G Zufallszahlen ohne doppelten Wert Java Basics - Anfänger-Themen 5
R Zufallszahlen mit Java Java Basics - Anfänger-Themen 11
N Zufallszahlen wiederholungslos erzeugen Java Basics - Anfänger-Themen 8
G Zufallszahlen erraten Java Basics - Anfänger-Themen 8
K zufallszahlen int / double, gerade / ungerade problem . Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben