Je suis en train d'apprendre et d'essayer regex sur une chaîne.
qui est "DBZ:00000*{6000}/ONE/REFFERRARO REF:FINE DOGS*"
Je cherche à trouver tous les REF
dans cette chaîne. J'ai donc utilisé ceci:
import re
doom = 'REF'
boom = "DBZ:00000*{6000}/ONE/REFFERRARO REF:FINE DOGS*"
# print(i)
# print('Found "%s" in "%s" ->' % (i, boom), end='')
print(re.findall(r"\b" + doom + "*", boom))
if re.search(doom, boom):
print("found")
Output:
['REFF','REF']
Ici, je n'obtiens pas le REF exact et ce que je veux faire est vérifier s'il y a un caractère à côté de "REF"
Comme: "REFFERRARO" -> Ici, à côté de "REF" se trouve "F"
"REF:FINE" -> Ici, à côté de "REF" se trouve ":"
Donc, si je trouve autre chose que ":" à côté de "REF"
, je veux ajouter ":"
après "REF"
.
Example:
Chaîne: "DBZ:00000*{6000}/ONE/REFFERRARO REF:FINE DOGS*"
Résultat: "DBZ:00000*{6000}/ONE/REF:FERRARO REF:FINE DOGS*"
MISE À JOUR:
Comme dit, j'ai utilisé .sub et obtenu ceci:
print(re.compile('REF').sub("REF:", boom))
Output:
"DBZ:00000*{6000}/ONE/REF:FERRARO REF::FINE DOGS*"
Nouvelle MISE À JOUR:
J'ai essayé ceci et ça a fonctionné (mais je ne pense pas que ce soit valide car s'il y a n nombre de "REFFERRARO" alors):
print(re.compile('REF').sub("REF:", boom,count=1))