python - Python 中的单独数字/字母标记

标签 python regex split

我正在使用 re.split() 将字符串分成标记。目前我用作参数的模式是 [^\dA-Za-z],它从字符串中检索字母数字标记。

但是,我需要的是也将同时具有数字和字母的标记拆分为只有一个或另一个的标记,例如。

re.split(pattern, "my t0kens")

将返回 ["my", "t", "0", "kens"]

我猜我可能需要使用前瞻/后视,但我不确定这是否真的有必要,或者是否有更好的方法。

最佳答案

尝试使用 findall 方法。

>>> print re.findall ('[^\d ]+', "my t0kens");
['my', 't', 'kens']
>>> print re.findall ('[\d]+', "my t0kens");
['0']
>>>

编辑:更好的方式来自 Bart 下面的评论。

>>> print re.findall('[a-zA-Z]+|\\d+', "my t0kens")
['my', 't', '0', 'kens']
>>>

关于python - Python 中的单独数字/字母标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6532065/

相关文章:

python - Python如何按字符拆分但保持该字符?

Java string split() 正则表达式

r - 缩写科学名称的功能

python - 每个 Flask session 存储大量数据或服务连接

python - 如何在pyqt中更改Qtablewidget的特定单元格背景颜色

javascript - 在javascript中努力使用正则表达式来获取字符串的匹配部分并用它来替换另一部分

php - 如何使用带有 'e' 修饰符的 preg_replace() 传递参数?

python - 如何使用 PIP 查看依赖于某个包的所有包?

python - python 套接字可以处理的最大数据包大小是多少?

python - 正则表达式如何仅删除包含某些特定字母的单词