récapitulatif des expressions régulières

expression régulière

20. Comment écrire une expression régulière qui correspond à des nombres qui ont une virgule tous les 3 chiffres ? Il doit correspondre aux numéros suivants :

 '42'
 '1,234'
 '6,368,745'
mais ne correspondra pas :
 '12,34,567' (seulement deux chiffres entre virgules)
 '1234' (virgule manquante)

châtaigne:

import re
import requests

text = str(input('请输入测试栗子:'))

regex = re.compile(r'^\d{1,3}(,\d{3})*$')
res = regex.search(text)
print(res)

Question :
1. La bonne façon de faire correspondre 1 à 3 nombres : regex = re.compile(r'\d{1,3}'), au lieu de : regex = re.compile(r'\d{,3} ' ), cela entraînera une correspondance supplémentaire d'un caractère nul
2, d'un caret et d'un dollar Le
texte ici est le début et la fin d'une chaîne
plutôt qu'un paragraphe dans le texte, le début et la fin de ce que vous pensez

vingt-et-un. Comment écrire une expression régulière qui fait correspondre le nom complet avec le nom de famille Nakamoto ? Vous pouvez supposer que le prénom vient toujours avant le nom de famille et est un mot commençant par une majuscule. Cette expression régulière doit correspondre :

 'Satoshi Nakamoto'
 'Alice Nakamoto'
 'RoboCop Nakamoto'
mais ne correspond pas :
 'satoshi Nakamoto' (prénom sans initiale majuscule)
 'M. Nakamoto' (le mot précédent contient des caractères non alphabétiques)
 'Nakamoto ' (pas de prénom)
 'Satoshi nakamoto' (nom de famille sans majuscule initiale)

châtaigne:

import re
import requests

text = str(input('请输入测试栗子'))

regex = re.compile(r'^[A-Z](\w)* Nakamoto$')
res = regex.search(text)
print(res)

Question :
La correspondance des lettres majuscules consiste à créer une classe spéciale [AZ]
\W consiste à faire correspondre les caractères en dehors du mot

vingt-deux. Comment écrire une expression régulière qui correspond à une phrase dont le premier mot est Alice, Bob ou Carol, le deuxième mot est mange, animaux de compagnie ou lance et le troisième mot est pommes, chats ou balles de baseball. La phrase se termine par un point. Cette expression régulière doit être insensible à la casse. Il doit correspondre :

 'Alice mange des pommes.'
 'Bob aime les chats.'
 'Carol lance des balles de baseball.'
 'Alice lance des pommes.'
 'BOB MANGE DES CHATS.'
但不匹配:
 'RoboCop mange des pommes.'
 'ALICE LANCE DES BALLONS DE FOOTBALL.'
 'Carol mange 7 chats.'

châtaigne:

import re
import requests

text = str(input('请输入测试栗子:'))

regex = re.compile(r'(Alice|Bob|Carol) (eats|pets|throws) (apples|cats|baseballs).$',re.I)
res = regex.search(text)
print(res)

7.18.1 Détection de mot de passe fort

Écrivez une fonction qui utilise des expressions régulières pour garantir que la chaîne de mot de passe transmise est un mot de passe fort. La définition d'un mot de passe fort est la suivante : la longueur n'est pas inférieure à 8 caractères, contient à la fois des caractères majuscules et minuscules et comporte au moins un chiffre. Vous devrez peut-être tester la chaîne avec plusieurs expressions régulières pour vous assurer de sa force.

châtaigne:

import re
import requests

def f(text):
    if len(text) >= 8:      #确保长度
        regex = re.compile(r'\d+')  #确保至少一位数字
        if regex.search(text) == None:
            return False
        regex = re.compile(r'[A-Z]+') #确保至少一位大写字母
        if regex.search(text) == None:
            return False
        regex = re.compile(r'[a-z]+')  # 确保至少一位小写字母
        if regex.search(text) == None:
            return False
        else:
            return True
    else:
        return False

text = input("请输入强口令:")
t = f(text)
if t == True:
    print("你输入的强口令合法!")
else:
    print("你输入的强口令非法!")

おすすめ

転載: blog.csdn.net/private_Jack/article/details/113759402