正则表达式的用法

学习正则表达式之前还是按照3W+H的灵魂式提问来学习即((what)正则表达式是什么?(why)为什么要使用正则表达式?(where)在哪儿可以使用正则表达式?(how)怎么使用正则表达式?)

  • 为什么需要正则表达式?
    • 文本的复杂处理
  • 正则表达式的优势和用途?
    • 一种强大而灵活的文本处理工具
    • 大部分编程语言、数据库(oracle、mysql)、以及文本编辑器(notepad++)、开发环境(linux、java、JavaScript)都支持正则表达式。
  • 正则表达式定义
    • 正如它的名字一样描述了一个规则,通过这个规则可以匹配一类字符串。
    • 学习正则表达式很大程度上是学习正则表达式的语法规则

开发中如何使用?

  • 开发中使用正则表达式的流程:
  1. 分析所要匹配的数据,写出测试用的典型数据。
  2. 在工具软件中进行匹配测试。
  3. 在程序中调用通过测试的正则表达式。

工具软件RegexBuddy

工具截图这个工具主要分三个部分,一个是test区主要是用于来编写测试数据的,一个是主界面主要是用来编写我们所需要的正则表达式的,另外一个就是我们可以创建多个正则表达式的匹配规则。

  • Case sensitive 表示大小写敏感的,也就是区分大小写,默认是区分大小写的,也可以设置成另外一种 Case insensitive(不区分大小写的)。
  • match at line breaks 从字面上来看表示是否匹配换行符也就是我们所说的多行模式,每行都是一个字符串且如果使用了多行模式需要仅匹配字符串的开始位置和结束位置可以使用\A和\Z。^ $在单行模式和多行模式下有不同的效果。don not match at line breaks表示单行模式,默认整个文本就是一个字符串。

正则表达式语法(1)

  • 普通字符

–字母、数字、汉字、下划线、以及没有特殊定义的标点符号都是**“普通字符”**。表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符。

  • 简单的转义字符

    • \n代表换行符、\t表示制表符、\代表\本身。
    • ^、$、.、(、)、{、}、?、+、*、|、[、] 匹配这些字符本身。

正则表达式语法(2)

  • 标准字符集合

    能够与‘多种字符匹配的表达式’
    注意区分大小写,大写是取反的意思。
    标准字符集合

正则表达式语法(3)

  • 自定义字符集合

       []方括号匹配方式,能够匹配方括号中任意一个字符
       ![表达式](https://img-blog.csdnimg.cn/2020082500274665.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3Nzg0Nzg4,size_16,color_FFFFFF,t_70#pic_center)
       正则表达式的特殊符号,被包含到中括号中,则失去特殊意义,除了 ^,-之外 。   
       标准字符集合,除小数点外,如果被包括于中括号中,自定义字符集合将包含该集合比如:
       -[\d.\-+]将匹配:数字、小数点、+、-
    

正则表达式语法(4)

  • 量词

    • 修饰匹配次数的特殊符号
      • {m} 表示重复m次
      • {m,n} 表示至少重复m次,最多重复n次。
      • {m,} 表示最少重复m次
    • 匹配次数中的贪婪模式(匹配字符越多越好,默认!)

    • 匹配次数中的非贪婪模式(字符越少越好,修饰匹配的次数的特殊符号后加上一个"?"号)

正则表达式语法(5)

  • 字符边界

  • (本组标记匹配的不是字符而是位置,符合某种条件的位置)
    • ^ 与字符串开始的地方匹配
    • $ 与字符串结束的地方匹配
    • \b 匹配一个单词的边界
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值