【正则表达式】一、常见符号含义

正则表达式入门

常见字符含义

[ABC]:匹配目标字符串中[]内的字符

import re

if __name__ == '__main__':
    str = "abcdefghk"
    reg1 = r'[abh]'
    ans = re.findall(reg1, str)
    print(ans) # ['a', 'b', 'h']

[^ABC]:匹配目标字符串中除[]之外的所有字符

import re

if __name__ == '__main__':
    str = "abcdefghk"
    reg1 = r'[^abh]'
    ans = re.findall(reg1, str)
    print(ans) # ['c', 'd', 'e', 'f', 'g', 'k']

[A-Z]:匹配目标字符串中在[]区间之内的所有字符

import re

if __name__ == '__main__':
    str = "abcdefghk"
    reg1 = r'[a-c]'
    ans = re.findall(reg1, str)
    print(ans) # ['a', 'b', 'c']

.(等价于[^\n\r]):匹配换行符(\n , \r )之外的任何字符

import re

if __name__ == '__main__':
    str = "abcdefghk" \
          "qwqweeq\n" \
          "addsd\r"
    reg1 = r'.'
    ans = re.findall(reg1, str)
    print(ans) # ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'k', 'q', 'w', 'q', 'w', 'e', 'e', 'q', 'a', 'd', 'd', 's', 'd', '\r']

\s: 匹配所有空格

import re

if __name__ == '__main__':
    str = "abcd ..sz。。ef  gh   k"

    reg1 = r'\s'
    ans = re.findall(reg1, str)
    print(ans) # [' ', ' ', ' ', ' ', ' ', ' '] 

\w:等价于 [A-Za-z0-9_]匹配所有数字、字母、下划线

import re

if __name__ == '__main__':
    str = "abcd!!!A_==k"

    reg1 = r'\w'
    ans = re.findall(reg1, str)
    print(ans) # ['a', 'b', 'c', 'd', 'A', '_', 'k']

$:匹配输入字符的结束位置

import re

if __name__ == '__main__':
    str = "abcd!!!A_==k1231"

    reg1 = r'\d+$'
    ans = re.findall(reg1, str)
    print(ans) # ['1231']

():标记子表达式的开始和结束位置
*:匹配前面表达式零次或多次
+:匹配前边表达式一次或者多次

import re

if __name__ == '__main__':
    str = "abcd!!!A_==k1231"

    reg1 = r'\d*$'
    ans = re.findall(reg1, str)
    print(ans) # ['1231', '']

.:匹配除换行符之外任意字符

import re

if __name__ == '__main__':
    str = "aA-,.#"

    reg1 = r'.'
    ans = re.findall(reg1, str)
    print(ans) # ['a', 'A', '-', ',', '.', '#']

[]:[]表达式的开始和结束位置
?匹配前边子表达式零次或一次

import re

if __name__ == '__main__':
    str = "我在西安等你"

    reg1 = r'.西安(等你)?'
    ans = re.findall(reg1, str)
    print(ans) # ['等你']

^相当于集合取非
|相当于取或

import re

if __name__ == '__main__':
    str = "我在西安等你"

    reg1 = r'.西安(等他|等你)?'
    ans = re.findall(reg1, str)
    print(ans) # ['等你']

{n}匹配确定的n次

import re

if __name__ == '__main__':
    str = "look"

    reg1 = r'o{2}'
    ans = re.findall(reg1, str)
    print(ans) # ['oo']

{n,}至少匹配n次,o{1}等价于0+, o*等价于o*
{n,m}:匹配n-m次

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值