Regex用于在python中的unicode单词/数字之间添加空格



我尝试使用unicode的基本正则表达式,但我无法使它们在字符串上工作,除了传统的A-Z和数字

我正在查看来自多种语言的示例,而不是A-Z字母家族的一部分

text = "20किटल"
res = re.sub("^[^Wd_]+$", lambda ele: " " + ele[0] + " ", text)
Output:
20किटल

尝试2:

regexp1 = re.compile('^[^Wd_]+$', re.IGNORECASE | re.UNICODE)
regexp1.sub("^[^Wd_]+$", lambda ele: " " + ele[0] + " ", text)
Output:
20किटल

Expected output:
**20 किटल**

使用Pypi正则表达式库

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import regex
text = "20किटल"
pat = regex.compile(r"(?<=d)(?=p{L})", re.UNICODE)
res = pat.sub(" ", text)
print res

其中p{L}代表任何语言中的任意字母

输出:

20 किटल

如果我正确理解了您的需求,您可以尝试以下操作吗:

# -*- coding: utf-8 -*-
import re
text = '20किटल'
print(re.sub(r'([0-9a-zA-Z_]+)([^s0-9a-zA-Z_]+)', r'1 2', text))

输出:

20 किटल

相关内容

  • 没有找到相关文章

最新更新