python判断字符串只包含数字和字母,不要用正则表达式
时间: 2023-05-20 19:02:46 浏览: 257
可以使用isalnum()方法来判断字符串是否只包含数字和字母,示例代码如下:
```python
def is_alphanumeric(s):
return all(c.isalnum() for c in s)
print(is_alphanumeric("abc123")) # True
print(is_alphanumeric("abc123!")) # False
```
这个方法会遍历字符串中的每个字符,判断是否是字母或数字,如果都是则返回True,否则返回False。
相关问题
python判断字符串只能含数字、字母或者_,不要用正则表达式
可以使用isalnum()和isunderscore()函数来判断字符串是否只包含数字、字母或下划线。isalnum()函数用于判断字符串是否只包含数字和字母,isunderscore()函数用于判断字符串是否只包含下划线。以下是示例代码:
def isalnum(s):
return all(c.isalnum() or c == '_' for c in s)
def isunderscore(s):
return all(c == '_' for c in s)
s = 'hello_world_123'
if isalnum(s) and not isunderscore(s):
print('The string contains only alphanumeric characters and underscores.')
else:
print('The string contains other characters besides alphanumeric characters and underscores.')
正则表达式 判断字符串中有数字和字母
使用正则表达式可以轻松地判断一个字符串中是否包含数字和字母。
以下是一个示例正则表达式:
```
^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$
```
这个正则表达式包含了两个正向前瞻,分别判断是否包含数字和字母。如果都包含,则匹配成功。
使用 Python 进行示例代码演示:
```python
import re
def contains_digit_and_letter(string):
pattern = r'^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$'
return bool(re.match(pattern, string))
# 测试
print(contains_digit_and_letter("abcd1234")) # True
print(contains_digit_and_letter("abcd")) # False
print(contains_digit_and_letter("1234")) # False
print(contains_digit_and_letter("abcd!")) # False
```
该函数接受一个字符串作为输入,使用 `re.match()` 方法进行匹配。如果匹配成功,返回 `True`,否则返回 `False`。