zoukankan      html  css  js  c++  java
  • 正则表达式——初识正则表达式

    在编写处理字符串的程序时,经常会用查找符合某些复杂规则的字符串的需要。

    正则表达式就是用于描述这些规则的工具,换句话说,正则表达式就是记录文本规则的代码,但它不是变成语言

    正则表达式到底有什么用?

    文本中Regular的文本不小心继承了Reguler

      有一个?

      有多个?

    当然,正则表达式的文本用途无法穷尽,因为文本的存在实在是台普遍了、

    现状:很多计算机用户和开发人员对如何使用正则表达式来操作文本确实一知半解,甚至是毫无概念,我们本章节的设置就是为着力改变这种局面

    中文

      正则表达式或正则匹配

    英文

      Regular Experssion,Regex、Regexp

    意义:

      无论对于普通电脑用户还是开发人员,特别是经常操作文本或者字符串查找、替换的人员来说,正则表达式将是不二之选。

    在正则表达式中拥有一套自己的语法规则

      常见语法包括

        字符匹配

        重复匹配

        字符定位

        转义匹配

        其他高级语法(字符分组,字符替换和字符决策)

    原样匹配

        原样匹配的时候,采用的都是不变的直接字符,所见即所得!

    元字符匹配

        采用元字符可以匹配一类字符,元字符可以是一个单独的字符,也可以是一对字符(前一个字符通常是反斜杠)

      d        匹配数字(0-9)

      D        匹配非数字

      w        匹配任意单字符

      W        匹配非单字符

      s         匹配空白字符

      S         匹配非空字符

      .            匹配任意字符

      [...]        匹配括号中的任意字符

      ^         匹配字符串的开始

      $         匹配字符串的结尾

                 匹配一个单词的边界

      B          匹配一个单词的非边界部分

    转义字符匹配

      如果想查找元字符本身,就必须采用配合对应元字符来取消特定字符

      如果想查找或. 就应该采用\或.

    限定字符

      限定字符又叫重复描述字符,表示一个字符要出现的字数

      {n}    匹配N次字符

      {n,}    匹配n次和n次以上字符

      {n,m}     匹配n次以上m次以下字符

      ?      匹配0或1次

      +       匹配一次或者多次

      *      匹配0次以上

      [^...]      匹配非括号字符   如[0-5]  除了0-5 其他都可以match

    分组

      使用(123){2}  就匹配123123

    删除空行:

       程序结环到replace mode 

     匹配汉字

      [u4e00-u9fa5]

  • 相关阅读:
    我们在囧途之程序员转型记
    项目开发应遵循1+7还是7+1?
    自己用的一款模板解析程序(支持插件和扩展)(思路讨论和使用体验)
    设计的核心任务之一:层次的控制
    【设计 = 编码】 VS 【设计 ≠ 编码】
    从一生的角度看程序员的学习和发展
    编码质量与命名
    软件开发十年小史
    设计的核心任务之三:确保正交性
    国内外软件开发上的差距与分析
  • 原文地址:https://www.cnblogs.com/xiaowie/p/8967220.html
Copyright © 2011-2022 走看看