python - 如何标记化,拆分相邻的数字字母?

标签 python regex

我正在尝试将类似 hello world123 的内容标记为 helloworld123。 我认为我拥有所需的两部分代码,但无法将它们组合起来以正确地标记化

(?u)\b\w+\b
(?<=\D)(?=\d)|(?<=\d)(?=\D)

最佳答案

你可以使用

import re
s = "hello world123"
print(re.findall(r'[^\W\d_]+|\d+', s))
# => ['hello', 'world', '123']

参见 Python demo

图案细节

  • [^\W\d_]+ - 1个或多个字母
  • | - 或者
  • \d+ - 1+ 位数字。

参见 regex demo .

BONUS:要匹配任何字母子串和各种数字,请使用

[^\W\d_]+|[-+]?\d*\.?\d+(?:[eE][+-]?\d+)?

参见 this regex demo .

参见 Parsing scientific notation sensibly?有关正则表达式的详细信息。

关于python - 如何标记化,拆分相邻的数字字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54568471/

相关文章:

php - Regex量化捕获

regex - 如何从字符串中删除单引号等特殊字符?

javascript - 使用 PHP 从较大字符串中的 URL 获取查询字符串值

python - PyTest Fixtures - 在 Docker 中运行时 SQLAlchemy 连接未关闭

python - pandas 将字符串列转换为日期时间,允许丢失但不无效

python - 要求 cookie 会影响注册转化率吗?

javascript - Tablesorter - 按姓氏排序,忽略中间名/首选姓名

python - Web开发-Python!

python - 识别录制声音中的音符 - Python

regex - 向量化模式匹配返回 R 中的模式