正则表达式基础

一起回顾一下正则表达式.

特殊字符

正则表达式特殊字符.png

  • "^" 以开头
  • "$" 以结尾
  • "." 除‘/n’外的任意字符
  • "*" 任意多次
  • "?" 非贪婪模式
  • "+" 至少出现一次
  • "{2}" 出现2次
  • "{2,}" 出现至少2次
  • "{2,5}" 出现2次到5次
  • "|" 或
  • "[]" 满足[]中任意一个就可以[a,b][0-9]
  • "[^]" 取反[^1]不是1就可以
  • "\s" 空格
  • "\S" 不为空格
  • "\w" [a-zA-Z0-9_]中一种就可以
  • "\W" "\w"取反
  • "[\u4E00-\u9FA5]" 中文
  • "()" 要提取出来的内容
  • "\d" 数字

Python例子

import re

line1 = "XXX出生于2008年8月8日"
line2 = "XXX出生于2008/8/8"
line3 = "XXX出生于2008-8-8"
line4 = "XXX出生于2008-08-08"
line5 = "XXX出生于2008-08"

regex_str = ".*出生于(\d{4}[年/-]\d{1,2}([月/-](\d{1,2}日|\d{1,2}|)|$))"
match_obj = re.match(regex_str, line4)
print(match_obj)
if match_obj:
    print(match_obj.group(1))

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏老司机的技术博客

人人都能学会的python编程教程5:循环-2

比如我们要从一个列表中找到某个特定元素,那么只要找到了这次循环就可以停止了,没有必要非得走到最后。

4308
来自专栏用户画像

String s=new String("abc")创建了几个对象?

String str=new String("abc");   紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢?

1221
来自专栏西安-晁州

js数组去重

对于如下对象数组 [{id: 0, name: "name1"}, {id: 1, name: "name2"},{id: 1, name: "name2"},...

2680
来自专栏Python

python ——面向对象进阶

1.staticmethod和classmethod staticmethod  静态方法: 让类里的方法,直接被类调用,就像正常的函数一样 宝宝,男 博博,女...

2067
来自专栏黑泽君的专栏

c语言基础学习07_指针

=============================================================================

2390
来自专栏蓝天

shell数组

$ A=(a b c def) ================================================== $ echo ${A[@...

1144
来自专栏liulun

Nim教程【八】

有序类型 值连续的枚举类型、整型、字符类型、布尔类型(还有这些类型的变种), 都可以称之为有序类型,Nim为有序类型提供了一系列特殊的方法 方法签名 方法...

2156
来自专栏企鹅号快讯

宝宝都能学会的python编程教程5:循环-2

“死循环”是必须要避免的,当然“活循环”也未必都要执行完。 break 语句 比如我们要从一个列表中找到某个特定元素,那么只要找到了这次循环就可以停止了,没有必...

2107
来自专栏mukekeheart的iOS之旅

OC学习2——C语言特性之函数

1、OC是在C语言的基础上进行扩展的,在OC中直接用C语言进行coding也是可以通过编译的。因此,函数定义的语法格式如下: 函数返回值类型 函数名(形参列表...

3197
来自专栏专注数据中心高性能网络技术研发

[C++]C++面试知识总结

1.程序运行知识 1.1 内存布局和分配方式 C程序的内存布局如下: ? 静态存储区:存储全局变量和static变量,通常在程序编译期间已经分配好了。 BSS...

3324

扫码关注云+社区

领取腾讯云代金券