Python使用re正则表达式分割中英文混合字符串

咖啡半糖
咖啡半糖
发布时间:2026-10-11 | 2人浏览过
原创

本文介绍如何利用Python的re模块正则表达式,精准分割包含中英文、数字及标点符号的混合字符串。通过定义特定的Unicode范围匹配中文与英文单词,实现按字或按词拆分,并提供完整代码示例与结果分析。

核心原理:利用Unicode范围匹配

在Python中处理中英文混合文本时,核心在于利用正则表达式识别不同字符的Unicode编码范围。以下是常用的匹配规则:

  • \u4e00-\u9fa5:匹配所有中文字符。
  • \u0030-\u0039:匹配数字。
  • \u0041-\u5a:匹配大写字母。
  • \u0061-\u007a:匹配小写字母。

基础示例:提取中英文

若目标是将字符串中的中文和英文分别提取出来,可以使用 re.findall() 函数。该函数会返回所有匹配的子串列表。

import re 
s = 'alibaba阿里巴巴' # 待分割字符串
en_letter = '[\u0041-\u5a|\u0061-\u007a]+' # 大小写英文字母
zh_char = '[\u4e00-\u9fa5]+' # 中文字符 

print(re.findall(zh_char,s) + re.findall(en_letter,s))

# 输出: ['阿里巴巴', 'alibaba']

上述代码首先匹配所有中文字符,再匹配所有英文单词,最后将两个列表合并。这种方法简单直接,适用于只需提取内容而无需保留标点符号的场景。

进阶处理:复杂混合字符串分割

在实际应用中,待切分的句子往往包含中英文、数字以及标点符号。我们需要一种更复杂的逻辑,使得中文按字断开,英文按单词分开,而数字和标点符号则作为分隔符处理。

实现步骤

  1. 定义正则规则:使用 re.compile() 编译正则表达式。这里使用 [\W]* 匹配除单词字符(字母、数字、下划线)和中文外的任意字符串,作为分割依据。
  2. 处理中文:针对中文部分,使用 r"([\u4e00-\u9fa5])" 进行匹配。注意,中文通常按字分割,因此需要将中文单字单独提取。
  3. 遍历与过滤:遍历分割后的结果,去除空字符串,最终得到纯净的词列表。

完整代码示例

import re
def get_word_list(s1):
  # 把句子按字分开,中文按字分,英文按单词,数字按空格
  regEx = re.compile('[\\W]*')  # 我们可以使用正则表达式来切分句子,切分的规则是除单词,数字外的任意字符串
  res = re.compile(r"([\u4e00-\u9fa5])")  # [\u4e00-\u9fa5]中文范围
  p1 = regEx.split(s1.lower())
  str1_list = []
  for str in p1:
    if res.split(str) == None:
      str1_list.append(str)
    else:
      ret = res.split(str)
      for ch in ret:
        str1_list.append(ch)
  list_word1 = [w for w in str1_list if len(w.strip()) > 0] # 去掉为空的字符
  return list_word1
if __name__ == '__main__':
  s = "12、China's Legend Holdings will split its several business arms to go public on stock markets, the group's president Zhu Linan said on Tuesday.该集团总裁朱利安周二表示,haha中国联想控股将分拆其多个业务部门在股市上市。"
  list_word1=get_word_list(s)
  print(list_word1)

结果分析

运行上述代码,处理包含中英文及标点符号的长句时,切分结果列表将包含数字、英文单词和单字。例如,输入字符串中的“China's”会被识别为英文单词,“中国”会被拆分为“中”和“国”,而标点符号如“、”和“。”则被过滤掉。这种方法能够灵活应对复杂的文本处理需求。

以上就是Python通过re正则表达式切割中英文混合字符串的详细内容,更多关于Python字符串处理与正则表达式应用资料请关注本站其它相关文章!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表