Ich möchte eine Liste aller möglichen Werte für einen regulären Ausdruck erhalten.Wie generiere ich alle möglichen Zahlen von diesem regulären Ausdruck?
Eingang:
2W
9WW
7W0W3
wo W
jede Ziffer von 0 bis 9 sein kann, das heißt W = [0-9]
Ausgang:
20,21,22,....29
900,901,...910,911,...999
70003,70013,70023,...71003,72003,...79093
Was ich tat:
Ich benutze Java und entschied mich, eine ArrayList
von Integers zu erstellen.
Ich erstellte eine Methode ArrayList<Integer> getNumbers(String regex)
.
ArrayList<Integer> getNumbers(String regex){
ArrayList<Integer> fullList = new ArrayList<Integer>();
char[] cArray = regex.toCharArray(); //converted the string into a character array.
for(int i=1;i<cArray.length;i++) {
if(cArray[i] == 'W') {
for(int j=0;j<10;j++) {
//I'm not sure what goes here
fullList.add(the number with 'w' at this index replaced by 'j');
}
}
}
return fullList;
}
Gibt es einen besseren Weg, oder Bibliotheksfunktionen zur Verfügung, alle diese Zahlen zu generieren?
Wie kann ich das erreichen?
Jede Hilfe bitte. Diese
Dies ist das Gegenteil von was Regex tut. Ich weiß nicht, ob es Bibliotheken gibt, die mögliche Zeichenfolgen erzeugen, die einem Muster entsprechen. –
Regex hat nichts mit dieser Frage zu tun. Alles über Logik hier – TheLostMind
Python-Paket 'sre_yield' bietet eine Liste aller übereinstimmenden Strings für ein reguläres Ausdrucksmuster. – IceArdor