python编程使用正则表达式判断输入的字符串是否是一个人的年龄,要求年龄由纯数字组成,数字位数为1-3位,年龄值不大于200;
时间: 2023-11-13 18:03:49 浏览: 33
可以使用正则表达式模块re来判断年龄是否符合要求。具体代码如下所示:
```python
import re
def is_valid_age(age_str):
# 定义正则表达式
pattern = r'^\d{1,3}$'
# 判断年龄是否符合要求
if re.match(pattern, age_str):
age = int(age_str)
if age <= 200:
return True
return False
```
使用示例:
```python
age_str = input("请输入年龄:")
if is_valid_age(age_str):
print("年龄合法")
else:
print("年龄不合法")
```
相关问题
Python一个匹配[3,5]位正整数的正则表达式是
可以使用如下正则表达式来匹配[3,5]位正整数:
```
^[1-9]\d{2,4}$
```
其中,`^` 表示匹配字符串的开头,`$` 表示匹配字符串的结尾。`[1-9]` 表示匹配 1 到 9 中的任意一个数字,`\d{2,4}` 表示匹配 2 到 4 位数字,最终匹配的数字位数为 3 到 5 位。
使用python代码实现,将csv文件某一列里面的字符串’8.5千-1.2万‘转换为’8500-12000‘
可以使用正则表达式来实现:
```python
import re
import pandas as pd
# 读取csv文件
df = pd.read_csv('filename.csv')
# 定义匹配模式
pattern = r'(\d*\.?\d+)\D+(\d*\.?\d+)'
# 定义替换函数
def replace_range(match_obj):
return str(int(float(match_obj.group(1))*1000)) + '-' + str(int(float(match_obj.group(2))*1000))
# 修改指定列的值
df['column_name'] = df['column_name'].apply(lambda x: re.sub(pattern, replace_range, x))
# 保存修改后的csv文件
df.to_csv('filename.csv', index=False)
```
这个代码块将csv文件中指定列中的所有符合格式的字符串替换为对应的千位数,并将修改后的结果保存到原文件中。