2017-10-20 7 views
0

Y at-il un moyen d'utiliser regex localiser la deuxième entrée (après la virgule) dans une fonction php et l 'utilisation remplacer pour l'enlever?Rechercher et remplacer dans une fonction avec regex et texte sublime

Je voudrais utiliser ce dans le texte sublime pour supprimer un champ d'entrée dans une fonction qui est utilisée sur plusieurs pages.

Je veux cette fonction:

LoggFor ($brukerid, $dato, $sysreg, $dat_1 = '', $dat_2 = '', $dat_3 = '', $dat_4 = '', $dat_5 = '', $dat_6 = '', $dat_7 = '') 

être remplacé par:

LoggFor ($brukerid, $sysreg, $dat_1 = '', $dat_2 = '', $dat_3 = '', $dat_4 = '', $dat_5 = '', $dat_6 = '', $dat_7 = '') 

Le problème est que l'entrée sur plusieurs pages différentes ne sont pas, comme mentionné ci-dessus. En d'autres termes, je veux supprimer la 2ème entrée de toutes les fonctions quel que soit le nom de la variable.

Capture d'écran de Sublime Text: enter image description here

Répondre

0

Utilisez

LoggFor\s*\([^),]*\K,\s*[^,)]* 

Remplacer par une chaîne vide.

Détails

  • LoggFor - une sous-chaîne littérale
  • \s* - 0+
  • espaces blancs \(
  • - un (
  • [^),]* - zéro caractères ou plus autres que ) et ,
  • \K - opérateur de remise à zéro du match (tout texte correspondant à cet endroit est omis dans le match et donc, il restera)
  • , - une virgule
  • \s* - 0+ espaces blancs
  • [^,)]* - zéro caractères ou plus autre que ) et ,

Voir la capture d'écran avec les paramètres:

enter image description here