Imaginez que j'ai plusieurs chaînes de caractères dans une liste comme celle-ci:séquençage Détection en utilisant des expressions rationnelles
[[1]]
[1] "1-FA-1-I2-1-I2-1-I2-1-EX-1-I2-1-I3-1-FA-1-"
[2] "-1-I2-1-TR-1-"
[3] "-1-I2-1-FA-1-I3-1-"
[4] "-1-FA-1-FA-1-NR-1-I3-1-I2-1-TR-1-"
[5] "-1-I2-1-"
[6] "-1-I2-1-FA-1-I2-1-"
[7] "-1-I3-1-FA-1-QU-1-"
[8] "-1-I2-1-I2-1-I2-1-NR-1-I2-1-I2-1-NR-1-"
[9] "-1-I2-1-"
[10] "-1-NR-1-I3-1-QU-1-I2-1-I3-1-QU-1-NR-1-I2-1-"
[11] "-1-NR-1-QU-1-QU-1-I2-1-"
Je veux utiliser une expression régulière pour détecter les chaînes particulières où un certain substring précède une autre sous-chaîne, mais pas nécessairement directement précédant l'autre sous-chaîne. Par exemple, disons que nous recherchons FA
précédant EX
. Cela devrait correspondre à 1
dans la liste. Même si FA
a -1-I2-1-I2-1-I2-1-
entre lui-même et EX
, le FA
se produit toujours avant le EX
, d'où une correspondance est attendue.
Comment une expression régulière générique peut-elle être définie pour identifier des chaînes où certaines sous-chaînes apparaissent avant une autre sous-chaîne de cette manière?