ich habe folgenden String [parameter=winkel] das wort "winkel" kann immer ein anderes sein ich will nur winkel ausfiltern wie kann ich das machen var string = (irgendein regex) ... bleibt WINKEL das ganze will ich in javascript nutzen, aber regex ist ja erstmal übergreifend, die Implementierung bekomme ich auch hin vielen Dank
was willst du? was meinst du mit "ausfiltern"? soll die liste danach kein "parameter=winkel" mehr enthalten, oder kein "[parameter=winkel]"? oder willst du eine liste mit allen "parameter=winkel" zeilen?
1 | cat file | perl -ne 'print "$1\n" if /(parameter=winkel)/' |
2 | cat file | perl -ne 'print "$1\n" if /(\[parameter=winkel\])/' |
3 | |
4 | Matcher matcher = Pattern.compile("parameter=winkel").matcher(STRING); |
5 | while (matcher.find()) { |
6 | System.out.println(matcher.group()); |
7 | }
|
whatever
Er möchte
1 | var str = '[parameter=einanderes]'; |
2 | var re = /\[\w+\s*=\s*([^\]]+)]/i; |
3 | var found = str.match(re); |
4 | console.log(found[1]) |
Wobei hier noch nicht festgelegt ist, dass "parameter" gleich parameter heißen muss. Hier können noch andere Werte enthalten sein um gültig zu sein. Ok, zugegeben, fraglich ob ein größerer Text analysiert werden soll und alle Vorkommen auflisten soll. Aber es wurde auch nur nach der RegEx gefragt.
:
Bearbeitet durch User
in meinem Fall muss Parameter festgesetzt sein... steht da was anderes ist es "ungültig" Vielen Dank für die Tipps :) ihr seid die besten
Dann
1 | var re = /\[parameter\s*=\s*([^\]]+)]/i; |
Falls keine Streuzeichen vor und nach dem "Ist gleich" erlaubt sind (Leerzeichen, Tabs etc.) dann ohne \s*
1 | var re = /\[parameter=([^\]]+)]/i; |
:
Bearbeitet durch User
und schon wieder eine regexfrage passend zu meiner formel brauch ich jetzt noch die variablen aus meinem String... "( [length] * [width] ) - [weight]" gesucht sind die "wörter" zwischen den eckigen klammern (in dem fall length, width, weight)... vielen dank ich habe mit den "Seiten" mir diesen String gebaut: /\[(.*?)\]/g leider kommen da die "Strings" inkl. klammern und excl. klammern raus... ich brauche aber nur OHNE
:
Bearbeitet durch User
Gib Beispiele. Was hast du, was willst du, was willst du nicht. Regexe sind schlecht lesbar, deine "Grammatik" auch.
Baeri B. schrieb: > "( [length] * [width] ) - [weight]" > > gesucht sind die "wörter" zwischen den eckigen klammern (in dem fall > length, width, weight)...
1 | echo "( [length] * [width] ) - [weight]" | \ |
2 | perl -ne 'print "$1 mal $2 minus $3\n" if /\[(\D+?)\].+\[(\D+?)\].+\[(\D+?)\]/' |
3 | length mal width minus weight |
wahrscheinlich willst du aber auf \d matchen.
> leider kommen da die "Strings" inkl. klammern und excl. klammern raus...
wat?
Beitrag #4945478 wurde von einem Moderator gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.