python提取字符串中的单词

ads

Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码

本篇阅读的代码实现了从字符串中提取单词的功能。

本篇阅读的代码片段来自于30-seconds-of-python。

words

import re

def words(s, pattern = '[a-zA-Z-]+'):
  return re.findall(pattern, s)

# EXAMPLES
words('I love Python!!'# ['I', 'love', 'Python']
words('python, javaScript & coffee'# ['python', 'javaScript', 'coffee']
words('build -q --out one-item'r'b[a-zA-Z-]+b')
# ['build', 'q', 'out', 'one-item']

words函数接收一个字符串和一个可选的正则表达式,返回提取出来的单词列表。

函数使用re.findall()来获取所有满足条件的字符串(即单词),形成一个列表。

re.findall(pattern, string, flags=0)string返回一个不重复的pattern的匹配列表,string从左到右进行扫描,匹配按找到的顺序返回。

默认的正则表达式参数'[a-zA-Z-]+'匹配所有的字母以及“-”符号组成的字符串,适合大部分情况。对于特殊情况也可以自定义正则表达式,例如example中的r'b[a-zA-Z-]+b',匹配w[a-zA-Z0-9_])定义的单词的开头或结尾,所以这个表达式匹配开头结尾为字母的由字母和短横线组成的单词。

实际上words函数定义了一个默认的正则表达式,来提取常见情况的单词。其内部直接调用了re.findall(),所以,可以使用任意正则表达式达到其他的目的。

推荐阅读:

1. 虽然但是,Python没有分号

2. 互联网公司又走了位员工,大家且行且珍惜。爱护自己,珍惜家人。

3. Python代码阅读(第94篇):加权均值

👇点击领取红包封面🧧👇


👇分享技术与杂谈的个人公众号👇

最后编辑于:2024/3/3 拔丝英语网

admin-avatar

英语作文代写、国外视频下载

高质量学习资料分享

admin@buzzrecipe.com