当前位置: 首页 > article >正文

Python正则表达式匹配汉字、英文、数字、常用符号等

要创建一个正则表达式,用于匹配汉字(包括但不限于常用的汉字和扩展汉字)、数字、英文字符、换行符(\n\r)、制表符(\t)以及常见的和特殊符号,同时过滤掉其他字符,可以使用以下正则表达式:

^[\u2E80-\u9FFFa-zA-Z0-9\n\r\t!@#$%^&*()_+={}[\]|:;"'<>,.?/~`-]+$

解释:

  • ^$:分别表示字符串的开始和结束,确保整个字符串都符合匹配规则。
  • [\u2E80-\u9FFF]:匹配 Unicode 范围内的汉字,包括常用汉字和扩展汉字。
  • a-zA-Z:匹配所有英文字母(大小写)。
  • 0-9:匹配所有数字。
  • \n\r\t:匹配换行符、回车符和制表符。
  • !@#$%^&*()_+={}[\]|:;"'<>,.?/~-`:匹配常见的标点和特殊符号。

示例:

假设你有一个字符串 你好,世界!123\nHello, World!,使用上述正则表达式将匹配整个字符串,因为它包含汉字、英文、数字、换行符和常见符号。

使用示例(Python):

import re

# 定义正则表达式
pattern = re.compile(r'^[\u2E80-\u9FFFa-zA-Z0-9\n\r\t!@#$%^&*()_+={}[\]|:;"\'<>,.?/~`-]+$')

# 测试字符串
test_string = "你好,世界!123\nHello, World!"

# 检查是否匹配
if pattern.match(test_string):
    print("匹配成功")
else:
    print("匹配失败")

过滤掉不匹配的字符:

如果你有一个字符串,需要过滤掉不匹配的字符,可以使用 re.sub 方法:

import re

# 定义正则表达式
pattern = re.compile(r'[\u2E80-\u9FFFa-zA-Z0-9\n\r\t!@#$%^&*()_+={}[\]|:;"\'<>,.?/~`-]+')

# 测试字符串
test_string = "你好,世界!123\nHello, World! 你好,世界!123\nHello, World! 你好,世界!123\nHello, World! 😊"

# 过滤掉不匹配的字符
filtered_string = ''.join(pattern.findall(test_string))

print(filtered_string)

上述代码将过滤掉 😊 这样的表情符号,只保留匹配的字符。


http://www.kler.cn/a/382461.html

相关文章:

  • C语言实现MQTT发送端(一)
  • 学习党的二十大精神,推动科技创新和发展
  • 数据仓库设计-分层
  • stack和queue --->容器适配器
  • 排序算法详细总结
  • 如何看待AI技术的应用场景:现状与未来的全面解析
  • Automated Isotope Identification Algorithm UsingArtificial Neural Networks-论文阅读
  • Rust常用数据结构教程 String与str,元组和数组
  • 【K8S系列】Kubernetes 中 Service 更改未生效的故障排查与解决方案【已解决】
  • 智能提醒助理系列-jdk8升级到21,springboot2.3升级到3.3【性能篇】
  • WandB概念、主要功能、详细说明和总结
  • 鸿蒙ArkTS中的布局容器组件(Scroll、List、Tabs)
  • react中得类组件和函数组件有啥区别,怎么理解这两个函数
  • 源文件到可执行文件流程
  • Vue.js组件开发:构建高效、可复用的前端应用
  • 【MATLAB源码-第200期】基于matlab的鸡群优化算法(CSO)机器人栅格路径规划,输出做短路径图和适应度曲线。
  • 蓝桥杯-网络安全比赛题目-遗漏的压缩包
  • 15分钟学 Go 第 30 天:测试基础
  • 11-单字符串多字段查询:Dis Max Query
  • Docker 安装使用操作指南
  • 宠物空气净化器测评!希喂/米家/有哈宠物空气净化器谁性价比高
  • 综合项目--博客
  • 【AIGC】如何充分利用ChatGPT:有效提示框架与基本规则
  • 成绩排序c++
  • D60【python 接口自动化学习】- python基础之数据库
  • 数据结构acwing和洛谷p8085作业