wer kennt sich gut mit regex aus?

Gast #4939226
Lesenswert?
• ▲
▼
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
Gast #4939242
Lesenswert?
• ▲
▼
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
#4939278
Lesenswert?
• ▲
▼
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.
#4943013
Lesenswert?
• ▲
▼
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
Gast #4943986
Lesenswert?
• ▲
▼
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren