返回
Python正则表达式:一题在手,掌握12种用法,天下我有
后端
2023-12-21 09:12:57
前言
大家好,我是程序员晚枫。今天,我将用一道华为笔试题,带大家深入掌握一项Python技巧:正则表达式。
正则表达式简介
正则表达式是一种用来匹配字符串的强大工具。它可以帮助你查找、提取和替换字符串中的特定部分。正则表达式在许多编程语言中都有支持,包括Python。
华为笔试题
现在,让我们来看一下这道华为笔试题:
text = 'John Doe, 30, New York City, USA'
# 提取名字
name = re.search(r'^(\w+ \w+)', text).group(1)
# 提取年龄
age = re.search(r', (\d+), ', text).group(1)
# 提取城市
city = re.search(r', (.*?), ', text).group(1)
# 提取国家
country = re.search(r', USAtext = 'John Doe, 30, New York City, USA'
# 提取名字
name = re.search(r'^(\w+ \w+)', text).group(1)
# 提取年龄
age = re.search(r', (\d+), ', text).group(1)
# 提取城市
city = re.search(r', (.*?), ', text).group(1)
# 提取国家
country = re.search(r', USA$', text).group(1)
# 打印结果
print(name)
print(age)
print(city)
print(country)
#x27;, text).group(1)
# 打印结果
print(name)
print(age)
print(city)
print(country)
解析
这道题要求我们从给定的文本中提取名字、年龄、城市和国家。我们可以使用正则表达式来完成这个任务。
首先,我们定义了一个字符串变量text,其中包含了要提取信息的文本。
接下来,我们使用re.search()函数来查找匹配正则表达式的第一个子字符串。我们使用r'^(\w+ \w+)'来匹配名字,r', (\d+), '来匹配年龄,r', (.*?), '来匹配城市,r', USA$'来匹配国家。
最后,我们使用group()方法来提取匹配的子字符串。
Python正则表达式用法总结
在这道题中,我们使用了以下12种Python正则表达式的用法:
- ^:匹配字符串的开头
- \w:匹配字母、数字和下划线
- +:匹配一个或多个前面的字符
- \d:匹配数字
- ,:匹配逗号
- .*:匹配任意数量的字符
- ?:匹配零个或一个前面的字符
- $:匹配字符串的结尾
- group():提取匹配的子字符串
- search():查找匹配正则表达式的第一个子字符串
结语
以上就是这道华为笔试题的解析。希望对大家有所帮助。
如果你想了解更多关于Python正则表达式的用法,可以参考以下资源:
练习题
现在,请你尝试使用正则表达式来解决以下问题:
- 从给定的文本中提取所有电子邮件地址。
- 从给定的文本中提取所有电话号码。
- 从给定的文本中提取所有网址。
如果你能解决这些问题,那么恭喜你,你已经掌握了Python正则表达式的基本用法。