在线工具 在线编程 在线白板 在线工具 在线编程 在线白板

python只保留汉字数字和字母的正则表达式?

我想请教下,python只保留汉字数字和字母的正则表达式?
最新回答
快乐很简单

2025-03-30 00:55:51

import re

pattern = r'[^\u4e00-\u9fa5a-zA-Z0-9]+'

def keep_chinese_and_alphanumeric(text):
return re.sub(pattern, '', text)

# 示例
text = '这是一段包含汉字、数字和字母的字符串。\n1234abc'
result = keep_chinese_and_alphanumeric(text)
print(result) # 输出:这是一段包含汉字、数字和字母的字符串。1234abc
该正则表达式 [^\u4e00-\u9fa5a-zA-Z0-9]+ 匹配的是不包含中文、字母和数字的任意字符。使用 re.sub() 方法将匹配到的字符替换为空字符串,即可只保留汉字、数字和字母。
﹎回★忆﹎

2025-03-30 00:56:58

编写一个正则表达式来只保留汉字、数字和字母,可以使用Unicode字符类来实现。
示例:
import re
def keep_chinese_digits_letters(text):
pattern = re.compile(r'[^\u4e00-\u9fa5a-zA-Z0-9]')
clean_text = re.sub(pattern, '', text)
return clean_text
# 示例用法
text = "你好,世界!Hello 123."
clean_text = keep_chinese_digits_letters(text)
print(clean_text) # 输出: 你好世界Hello123

在这个例子中,keep_chinese_digits_letters() 函数接受一个字符串作为输入,通过正则表达式模式 [^\u4e00-\u9fa5a-zA-Z0-9] 匹配除了汉字、字母和数字之外的任何字符,并使用 re.sub() 函数将非汉字、字母和数字的字符替换为空字符串,达到保留只包含汉字、字母和数字的目的。