Supprimer les commentaires sur une ligne, y compris le japonais du code source en Python

Cet article utilise Python3.

code

test.py


import re

#Code de saut de ligne
EOL = '\n'
#Modèle ASCII
p_ac = '[!-~\\s]'
#Japonais(Non-ASCII)modèle
p_jp = '([^!-~\\s]|[ ])'

#Modèle de commentaire sur 1 ligne
p_com = '//'
# p_com = '#'

#motif entier
pattern = f'[ ]*{p_com}({p_ac}*{p_jp}+)+{p_ac}*$'

#La chaîne de caractères que vous souhaitez remplacer
s = '''1 aaa
2 bbb //Ai i u u e o o
3  //ka ou ki kiku ke ke ko ko
4    //Bien
5 // uuu
6 print (aaa)   //Afficher aaa
7 print (ccc)   // print ccc
8
[EOD]'''

#Avant le remplacement
print (s)
print ('----------------------')

n = ''
#Fractionner ligne par ligne
ary = s.split(EOL)

#Processus de remplacement
for l in ary:
    #Supprimer la cible
    r = re.sub(pattern, '', l)
    n += r + EOL

#Après remplacement
print (n)

production

1 aaa
2 bbb //Ai i u u e o o
3  //ka ou ki kiku ke ke ko ko
4    //Bien
5 // uuu
6 print (aaa)   //Afficher aaa
7 print (ccc)   // print ccc
8
[EOD]
----------------------
1 aaa
2 bbb
3
4
5 // uuu
6 print (aaa)
7 print (ccc)   // print ccc
8
[EOD]

Recommended Posts

Supprimer les commentaires sur une ligne, y compris le japonais du code source en Python
Installer Python à partir de la source
Sortie japonaise avec Python
[Python] Lecture du code source Django Vue à partir de zéro ①
Obtenez des commentaires YouTube en Python
J'ai écrit python en japonais
Installer ansible à partir du code source
OCR à partir de PDF en Python
Arrêtez Omxplayer à partir du code Python
Générer du code QR en Python
Je comprends Python en japonais!
Code de caractère appris en Python
Vérifiez toujours PEP8 lors de l'édition du code source Python dans Emacs
Obtenez des synonymes japonais avec Python
[Python] Générer un code QR en mémoire
Installez Python à partir des sources avec Ansible
Formater automatiquement le code Python avec Vim
Extraire du texte d'images avec Python
Ecrire le code de test du sélénium en python
Exécuter du code Python à partir de l'interface graphique C #
[Python] Lire le code source de Flask
Tests de code dans le temps en Python
Comment gérer le japonais avec Python
Extraire des chaînes de fichiers avec Python
Détectez les caractères japonais à partir d'images à l'aide de l'API Cloud Vision de Google avec Python
Flux de traitement d'interruption vu dans le code source
Afficher le code source de l'implémentation dans iPython
Obtenez des taux de change à partir des taux de change ouverts en Python
Obtenez des métriques de code source Python à l'aide de radon
Télécharger des images à partir de la liste d'URL en Python
Obtenez le niveau de la batterie de SwitchBot avec Python
Flux du code source à la création du format d'exécution
Générer une classe à partir d'une chaîne en Python
Générer un langage C à partir d'une expression S avec Python
Obtenir la liste de codes EDINET en Python
Convertir de Markdown en HTML en Python
Obtenez la probabilité de précipitation de XML avec Python
[Note] Exécuter du code Python à partir d'Excel (xlwings)
La syntaxe met en évidence le code source dans PowerPoint / Keynote
Installez PostgreSQL à partir du code source sur CentOS
Obtenir l'historique des métriques de MLflow en Python
Introduction à l'algorithme Implémentation de 4 types de tri en Python à partir du pseudo code de la 3ème édition
Différences dans la façon d'écrire du code source externe entre Ruby et Python