2016-04-24 6 views
1

Ich versuche nach unten Pfad mit Regex zu suchen.In Bezug auf [^ Ausdruck was ist mein Missverständnis Punkt?

^.*Aurix_MC-ISAR[^mak]\/port.* 

, aber es funktioniert nicht, so entfernte ich Ausdruck \/

^.*Aurix_MC-ISAR[^mak]port.* <-- It works well 

Was mein Mißverständnis Punkt ist? Könntest du mich bitte wissen lassen?

Target Path:D:\MCAL_SW_Test\MC-ISAR_AS4XX_AURIX_TC23X_AB_PB_BASE_V300\TC23x_ABstep\Aurix_MC-ISAR\port_infineon_tricore 

Antwort

1

Dies ist Sie regex

^.*Aurix_MC-ISAR[^mak]\/port.* 

Die Aufschlüsselung für die Zeichenfolge sagt, dass

^ #Start the string 
    .* #Consume everything till next string is found 
    Aurix_MC-ISAR #Find this string literally 
    [^mak] #Match anything except m, a or k (In your string Aurix_MC-ISAR, what follows just after it is \ which is neither m, a or k. So successful match) 
    \/ #Now there is no/in your string further. So it fails here 
port.* #Whatever here it won't match as it already failed 

Siehe here

HINWEIS: - Von dem, was ich unde Sie verwenden \ in Ihrer Eingabe. Um zu entkommen \, müssen Sie \\ statt \/ verwenden, die / entkommen ist. Obwohl es keinen Unterschied in Ihrer Ausgabe macht, weil es keine zusätzlichen \ nach Aurix_MC-ISAR\

+0

Danke für Ihre freundliche Antwort. – Hansteve

+0

@Hansteve in Betracht ziehen, die Antwort zu akzeptieren, wenn es half .. sehen [Wie man Antwort akzeptiert] ( – rock321987

1

Natürlich passiert das. [^mak] bedeutet ein Zeichen, das nichtm, a oder k ist. Es entspricht der \/ so [^mak]\/ ist redundant.

Und auch, es sollte \\statt von \/ sein, nachdem Sie Ihren Weg gesehen haben.

+0

) Danke für Ihre freundliche Antwort. – Hansteve

+0

Gern geschehen! –

Verwandte Themen