Utiliser Regexmatch sans distinction de casse dans Google Sheets (partie ou tout)

Dans cet article, je vais éclairer la manière de faire une correspondance d’expression régulière sans distinction de casse à l’aide de Regexmatch dans Google Sheets. En plus de cela, vous allez apprendre comment rendre seule une partie de l’expression régulière sensible à la casse.

D’après mes connaissances, Regexmatch (expressions RE2) et Query sont les fonctions qui utilisent les expressions régulières, en particulier pour la correspondance de texte. Cet article se concentre sur l’ancienne fonction.

Qu’est-ce que la sensibilité à la casse dans une correspondance de texte ?

Cela concerne la manière dont le texte peut être sensible ou insensible à la casse des lettres. En d’autres termes, il s’agit de savoir si les lettres majuscules et minuscules sont traitées comme distinctes ou équivalentes. Voici un tableau explicatif :

Texte 1 Texte 2 Sortie (sensible à la casse) Sortie (insensible à la casse)

Dans cet exemple, je veux faire correspondre les valeurs de la colonne 1 avec les valeurs de la colonne 2 de deux manières différentes. J’ai effectué la même opération et les sorties dans les colonnes 3 et 4 sont explicites.

Regexmatch sans distinction de casse dans Google Sheets (en totalité)

Commençons d’abord par les formules de base (correspondance complète). Nous parlerons ensuite de la manière de rendre seule une partie de l’expression régulière sensible à la casse dans Google Sheets.

À l’aide des fonctions texte Lower ou Upper

Nous utilisons généralement les fonctions texte LOWER ou UPPER pour une correspondance d’expression régulière sans distinction de casse dans Google Sheets.

Supposons que nous ayons entré le texte « abCDef » dans la cellule A1 et inséré la formule REGEXMATCH suivante dans la cellule C1 :

=regexmatch(A1,"abcdef")

Cette formule renverra la valeur FALSE car elle est sensible à la casse des lettres. Nous pouvons utiliser la fonction LOWER comme suit pour une correspondance sans distinction de casse dans Google Sheets :

=regexmatch(lower(A1),"abcdef")

Lors de l’utilisation de la fonction UPPER, utilisez des lettres majuscules dans l’expression régulière :

=regexmatch(upper(A1),"ABCDEF")

Si l’expression régulière est une référence de cellule, par exemple B1, vous devez utiliser lower(B1) ou upper(B1) en fonction de la casse de la cellule A1 :

=regexmatch(upper(A1),upper(B1))

À l’aide d’un modifieur de motif

Il y a un inconvénient à utiliser les fonctions Lower/Upper pour une correspondance d’expression régulière sans distinction de casse dans Google Sheets. Qu’est-ce que c’est ? Lors de l’utilisation de l’une de ces deux fonctions, nous ne pouvons pas rendre une partie de l’expression régulière sensible à la casse. Dans ce cas, le modifieur de motif, c’est-à-dire (?i), fait le travail. Nous en parlerons plus tard.

Apprenons d’abord comment remplacer ces deux fonctions (Upper/Lower) par le modifieur de motif mentionné précédemment.

Cette fois-ci, dans C1, nous pouvons utiliser la formule suivante :

=regexmatch(A1, "(?i)abcdef")

Lorsque vous utilisez des références de cellules dans les deux arguments, utilisez la méthode suivante :

=regexmatch(A1,"(?i)"&B1)

Rendre seule une partie de l’expression régulière sensible à la casse dans Regexmatch

Veuillez consulter les textes des cellules A4 et A5. Vous pouvez y voir les textes mis en évidence en bleu et en rouge. Que signifient-ils ?

  • Bleu : Les lettres majuscules et minuscules doivent être traitées comme distinctes.
  • Rouge : Les lettres majuscules et minuscules doivent être traitées comme équivalentes.

J’ai codé les formules en conséquence dans les cellules C4 et C5.

C4:

=regexmatch(A4,"Apple(?i)orange(?-i)")

C5:

=regexmatch(A5,"(?i)(apple.*)(?-i)ORANGE")

Voici un exemple réel de la manière de rendre seule une partie de l’expression régulière sensible à la casse. Dans la colonne A, j’ai quelques textes qui sont des noms et des codes de pays combinés. J’ai utilisé un séparateur de tiret pour séparer les codes de pays des noms.

Données d’exemple dans A2:A :

-

Comment vérifier si tous les codes de pays sont saisis en lettres majuscules ? Tout d’abord, nous extrairons les codes de pays à l’aide d’une formule matricielle dans la cellule B2 :

=ArrayFormula(upper(IFNA(TRIM(regexextract(A2:A,"-(.*)")))))

La formule ci-dessus extrait tous les codes de pays et les met en majuscules.

Ensuite, dans la cellule C1, nous utiliserons une formule Regexmatch :

=ArrayFormula(if(A2:A="",,regexmatch(A2:A,"(?i)(.*)(?-i)"&B2:B)))

Dans cette formule, nous avons rendu une partie de l’expression régulière sensible à la casse.

Voilà tout ce qu’il faut savoir sur la correspondance d’expression régulière sans distinction de casse dans Google Sheets. Merci de m’avoir lu. Amusez-vous bien !

Ressources :

  • How to Use Exact Function in Google Sheets [Case Sensitive and Insensitive].
  • Case Sensitive Vlookup in Google Sheets [Solved].
  • Regexmatch Dates in Google Sheets – Single/Multiple Match.
  • Multiple OR in Conditional Formatting Using Regex in Google Sheets.
  • Regex to Replace the Last Occurrence of a Character in Google Sheets.
  • Split a Text after Every Nth Word in Google Sheets (Using Regex and Split).
  • Regex to Get All Words after Nth Word in a Sentence in Google Sheets.
  • How to Replace Commas within or outside Brackets in Google Sheets – Regex.

Pour en savoir plus sur les fonctionnalités des feuilles Google et d’autres conseils marketing, découvrez notre site Crawlan.com.

Articles en lien