Python正则表达式实现练习:判断密码设置是否满足条件,若不满足,输出不满足条件,并指出不满足哪条。 条件1:包含数字和字母; 条件2:密码长度在(8,16]之间 条件3:不以数字开头
时间: 2023-05-28 11:02:22 浏览: 64
import re
password = input("请输入您的密码:")
if not re.search(r'\d',password) or not re.search(r'[a-zA-Z]',password):
print("密码不满足条件1,需包含数字和字母")
elif not (8<len(password)<=16):
print("密码不满足条件2,长度需在(8,16]之间")
elif re.search(r'^\d',password):
print("密码不满足条件3,不能以数字开头")
else:
print("密码设置成功!")
相关问题
python正则表达式满足条件后反选
在Python中,可以使用正则表达式的反选来匹配不满足某个条件的内容。可以通过在正则表达式中使用否定字符类(^)来实现反选。
例如,如果要匹配不包含数字的字符串,可以使用以下正则表达式:
```python
import re
pattern = r'[^0-9]'
text = "abc123def456"
result = re.findall(pattern, text)
print(result)
```
输出结果为:
```
['a', 'b', 'c', 'd', 'e', 'f']
```
这里的`[^0-9]`表示匹配除了数字以外的任意字符。通过`re.findall()`函数可以找到所有满足条件的字符。
python正则表达式匹配Comment: 和by admin之间的字符串并输出
可以使用正则表达式来匹配"Comment:"和"by admin"之间的字符串,然后使用group()方法来获取匹配的字符串。下面是一个示例代码:
```python
import re
string = "This is a comment: Hello world! by admin"
pattern = r"Comment:\s*(.*?)\s*by admin"
match = re.search(pattern, string)
if match:
matched_string = match.group(1)
print(matched_string)
```
在上面的代码中,我们使用正则表达式r"Comment:\s*(.*?)\s*by admin"来匹配"Comment:"和"by admin"之间的字符串。其中,"\s*"表示匹配0个或多个空格,"(.*?)"表示匹配任意字符,"?"表示非贪婪模式匹配。我们使用re.search()方法来进行匹配,并使用group(1)方法来获取第一个括号内匹配的字符串,即"Hello world!"。最后,我们使用print()函数来输出匹配的字符串。