Hinweise zu lernen Python „Python-Programmierung schnell starten - lassen Sie die mühsame Arbeit von automatisieren“ Six

Übung sechs
starkes Passwort detect
schreiben eine Funktion , die verwendet reguläre Ausdrücke , um sicherzustellen , dass die Zeichenfolge im Passwort übergeben ein starkes Passwort. Die Definition eines starken Passwort lautet: nicht weniger als acht Zeichen lang sein , sowohl Groß- und Kleinbuchstaben enthalten, mindestens eine Ziffer. Sie können die String - Ausdrücke mit positiver testen müssen, um ihre Stärke zu gewährleisten.

#!python3
import re
def test_password(password):
	right=True	
	if len(password)>=8:
		rules=(r'\d+',r'[a-z]+',r'[A-Z]+')
		for rule in rules:
			ru=re.compile(rule)#初始正则表达式
			mo=ru.search(password)#匹配字符串
			try:
				mo.group()#一旦没有匹配会出现Attribte错误
			except AttributeError:
				right=False#如果出现错误证明缺少对应字符改变标志位
				num=rules.index(rule)#获取出现错误规则的下标
				if num==0:
					print('密码缺少数字')
				elif num==1:
					print('密码缺少小写字母')
				elif num==2:
					print('密码缺少大写字母')	
		if right:
			print('密码通过验证')
	else:
		print('密码少于8位')

Streifen () regulärer Ausdruck Version
Schreiben Sie eine Funktion , die eine Zeichenfolge, das gleiche tut und Streifen () String - Methode erfolgt. Wenn nur die eingehende Zeichenfolge entfernt werden, keine andere Parameter, dann entfernen Sie Leerzeichen aus dem Zeichenfolge Ende zu Ende. Ansonsten gibt die Funktion des zweiten Parameters wird das Zeichen aus der Zeichenfolge entfernt werden.

def for_str(word,find=None):
	if find==None:#不传入find则按照空格处理
		l_strip=re.compile(r'^ +| +$')
		#r_strip=re.compile(r' +$')
		#x=l_strip.search(word).group()
		x=l_strip.sub('',word)
		print(x)
	else:#find不为空则替换匹配find值为空
		x_find=re.compile(find)
		result_f=x_find.sub('',word)
		print(result_f)
Veröffentlicht 23 Originalarbeiten · erntete Lob 5 · Aufrufe 388

Ich denke du magst

Origin blog.csdn.net/weixin_43287121/article/details/104483626
Empfohlen
Rangfolge