2011-08-29 6 views
0

J'ai plusieurs chaînes comme celui-ciregex pour ne correspond pas à

+My_name 
My_other_name 
+Someone 
Otherone 

Quelle est la regex d'écrire pour me faire toutes les chaînes qui ne commencent pas avec le symbole +

J'ai besoin le résultat d'inclure

My_other_name 
OtherOne 
+0

désolé j'ai oublié cela semble le faire^[\ +] – lisa

Répondre

1

Essayez ceci:

^[^\+].+$ 
  1. ^= début d'ancrage de la ligne
  2. [^ \ +] = excluent les lignes commençant par le plus, et se sont échappés par une barre oblique afin de ne pas confondre l'expression rationnelle .
  3. . = Tout caractère
    • = répéter autant de fois que
  4. $ = fin de la ligne d'ancrage.
4

Le plus simple est probablement:

^[^+].* 

Exemple de travail: http://rubular.com/r/zzNeuvqKFB

Vous pouvez laisser tomber le .* si vous grep le fichier de toute façon.
Bien sûr, tous les langages de programmation devraient avoir un meilleur moyen d'obtenir ces lignes. Même grep a le drapeau -v, pour annuler le motif.

+0

Merci Kobi pour prendre le temps sur ce – lisa

0

Cela dépend un peu du programme que vous utilisez, mais quelque chose comme ^[^+]+.