2016-12-30 1 views
-2

J'ai un modèle comme suit dans les journaux:négation regex match de

| App: | -> which doesn't have the app information 
| App: Registration | -> which indicates that this is registration app. 

Je veux être en mesure de trouver les | App: | ceux du journal.

J'ai essayé les expressions rationnelles suivantes mais j'ai échoué, alors j'ai décidé de demander ici.

/App: ^(.*) |?/g et d'autres, mais a échoué.

L'aide est appréciée.

+1

Avez-vous essayé '/ | App: |/g'? Ou '/ | App: * |/g' en cas d'espaces multiples. – Andreas

+0

voulez-vous utiliser cette regex dans 'Java' ou' C# ' –

Répondre

1

Vous devez échapper à la barre verticale à Java. Sur sa propre barre verticale est un opérateur dans une expression régulière. https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html

String test = "| App: | ABC"; 
String test2 = "| App: Registration |"; 
String match = "\\| App:.*\\|.*"; 
System.out.println(test.matches(match)); 
System.out.println(test2.matches(match)); 
+0

J'ai essayé" App: \ | " mais n'a pas fonctionné. – DarthVader

+0

Wellll ... vous devez également échapper à l'antislash :) hahah, c'est comme une mauvaise blague que les gens de Java jouent sur vous! Voir l'exemple de code de ProgrammersBlock ci-dessus. – Barett