Start- und End-Index von Strings zu finden sagen, Sie sind eine Eingabezeichenfolge gegebeneRegulärer Ausdruck
text = '8.*x.^21+x';
Ich versuche, den Start- und Zielindizes der Kräfte auf den x-Variablen,
zu extrahierenstart und m_end werden jeweils die Werte [4 7 10] und [4 8 10] angegeben, dies führt jedoch zu einem Fehler, da die Werte von start und m_end nur [7 10] und [8 10] sein sollten. .
Mein regulärer Ausdruck ist das Ergreifen des ersten x, das eine Macht sowie seine Macht hat, aber es sollte nicht sein. Irgendwelche Gedanken darüber, wie das zu beheben ist?
Dies wird die 2 in der Zeichenkette erfassen, wodurch start = [7] und m_end = [8]; Aber es wird auch nicht das x aufnehmen (was start = [7 9] und m_end = [8 9] machen würde. Wäre es besser, zwei reguläre Ausdrücke auszuführen? –
Wenn ich es ausführe, passt es sowohl zu 2 als auch zu Die 1, aufgrund der \ d + ist gierig. Wenn man auf die [docs] (http://www.mathworks.com/help/matlab/ref/regexp.html) schaut, scheint es, dass die erste Ausgabe - "start" - enthält alle benötigten Informationen, und zusätzliche Ausgaben enthalten nur teilweise Übereinstimmungen, daher wird [8 9] als Teilübereinstimmung erwartet – codekaizen
Warten Sie, ich glaube, ich habe es nicht verstanden ... Sie wollen das 'x' enthalten seine Macht? – codekaizen