精华内容
下载资源
问答
  • 正则表达式语法

    2019-09-23 06:53:55
  • 正则表达式语法.pdf

    2021-02-04 12:47:16
    正则表达式语法
  • 常用正则表达式语法例句
  • 主要介绍了Java正则表达式语法,包括常用正则表达式、匹配验证-验证Email是否正确以及字符串中查询字符或者字符串,感兴趣的小伙伴们可以参考一下
  • 网络爬虫——正则表达式语法

    万次阅读 多人点赞 2020-02-05 10:48:51
    正则表达式基础讲解 一、什么是正则表达式 在网络爬虫将网页内容爬取的时候,有一个关键的步骤就是对我们关注的信息进行提取,正则表达式就是用于信息筛选提取的强大工具,并且学习简单,所以建议大家掌握。 ...

    正则表达式基础讲解

    代码代写(实验报告、论文、小程序制作)服务请加微信:ppz2759

    一、什么是正则表达式

    在网络爬虫将网页内容爬取的时候,有一个关键的步骤就是对我们关注的信息进行提取,正则表达式就是用于信息筛选提取的强大工具,并且学习简单,所以建议大家掌握。

    Python正则表达式语句

    import re
    
    re.compile(“正则表达式”).findall(“原字符串”)
    

    1.匹配符

    普通字符			正常匹配其中的字符。
    \n				匹配换行符。
    \t				匹配制表符。
    \w				匹配字母、数字、下划线。
    \W				匹配除了字母、数字、下划线的字符串。字母大写相当于非(个人总结)
    \d				匹配十进制数字
    \D				匹配除了十进制数字的字符串
    \s				匹配空白字符
    \S				匹配非空白字符
    [asd213]		匹配中括号中的任意一个字符
    [^asd213]		匹配中除了括号中的任意一个字符
    

    实例1

    源字符串:"chengxuyuanxiaozhe666"
    正则表达式:"xiaozhe"
    匹配后:"xiaozhe"
    

    实例2

    源字符串:"chengxuyuanxiao
    zhe666"
    正则表达式:"xiao\nzhe"
    匹配后:"xiao\nzhe"
    

    实例3

    源字符串:"chengxuyuanxiaozhe666"
    正则表达式:"\w\w\w\d\d\d"
    匹配后:"zhe666"
    

    实例4

    源字符串:"chengxuyuanxiaozhe666"
    正则表达式:"xia[asdo]zhe"
    匹配后:"xiaozhe"
    

    2.特殊字符

    想单纯的使用以下字符,需要在前面加一个\,如$。

    .				匹配除换行符 \n 之外的任何单字符。
    ^				匹配输入字符串的开始位置。
    $				匹配输入字符串的结尾位置。 
    *				前一个字符出现零次或多次。
    +				前一个字符出现一次或多次。
    ?				前一个字符出现零次或一次。
    {n}				前一个字符恰好出现n次
    {n,}			前一个字符至少出现n次
    {n,m}			前一个字符至少n次,至多m次
    |				指明两项之间的一个选择。
    ()				标记一个子表达式的开始和结束位置。
    

    实例1

    源字符串:"chengxuyuanxiaozhe666zuishuai"
    正则表达式:"xiao..."
    匹配后:"xiaozhe"
    

    实例2

    源字符串:"chengxuyuanxiaozhe666zuishuai"
    正则表达式:"^xiaozhe..."//从第一个字母开始匹配
    匹配后:None
    

    实例3

    源字符串:"chengxuyuanxiaozhe666zuishuai"
    正则表达式:"^chengxuyuan"
    匹配后:"chengxuyuan"
    

    实例4

    源字符串:"chengxuyuanxiaozhe666zuishuai"
    正则表达式:"zuishuai$"//从最后一个字母开始匹配
    匹配后:"zuishuai"
    

    实例5

    源字符串:"chengxuyuanxiaozhe666zuishuai"
    正则表达式:"cheng.*"//*前一个字符出现零次或多次。//.匹配除换行符 \n 之外的任何单字符。
    匹配后:"chengxuyuanxiaozhe666zuishuai"//默认贪婪尽可能多的匹配
    

    实例6

    源字符串:"chengxuyuanxiaozhe666zuishuai"
    正则表达式:"zhe6+"
    匹配后:"zhe666"
    

    实例7

    源字符串:"chengxuyuanxiaozhe666zuishuai"
    正则表达式:"zhe6?"
    匹配后:"zhe6"
    

    实例8

    源字符串:"chengxuyuanxiaozhe666zuishuai"
    正则表达式:"zhe6{1,2}"
    匹配后:"zhe66"
    

    实例9

    源字符串:"chengxuyuanxiaozhe666zuishuai"
    正则表达式:"^cheng(xu....)"
    匹配后:"xuyuan"
    

    3.贪婪模式与懒惰模式

    贪婪模式:就是尽可能多的匹配,默认贪婪模式
    懒惰模式:就是尽可能少的匹配,也叫精准模式
    当出现以下组合时,才代表是懒惰模式:

    *?				懒惰模式//?不代表0或1了
    +?				懒惰模式//?不代表0或1了
    

    实例1

    源字符串:"chengxuyuanxiaozheezhe666zuishuai"
    正则表达式:"xiao.*e"
    匹配后:"xiaozhezhe"//默认贪婪模式,尽可能多的匹配
    

    实例2

    源字符串:"chengxuyuanxiaozhezhe666zuishuai"
    正则表达式:"xiao.*?e"
    匹配后:"xiaozhe"//懒惰模式,尽可能少的匹配
    

    4.模式修正符

    在不改变正则表达式的情况下,通过模式修正符使匹配结果发生改变。
    这个看不懂没关系,下面的例子就懂了

    re.compile(“正则表达式”).findall(“原字符串”)			//原匹配语句
    re.S				//使.也可以匹配换行
    re.I				//匹配时候忽略大小写
    

    实例1

    源字符串:"XiaoZhe"
    正则表达式:"xiao"
    匹配语句:re.compile("xiao").findall("XiaoZhe")
    匹配后:None
    

    实例2

    源字符串:"XiaoZhe"
    正则表达式:"xiao"
    匹配语句:re.compile("xiao",re.I).findall("XiaoZhe")
    匹配后:"Xiao"
    

    实例3

    源字符串:"cheng\nxuyuan\nxiao\nzhe"
    正则表达式:"cheng.*zhe"
    匹配语句:re.compile("cheng.*zhe").findall("XiaoZhe")//.不包括回车
    匹配后:None
    

    实例4

    源字符串:"cheng\nxuyuan\nxiao\nzhe"
    正则表达式:"cheng.*zhe"
    匹配语句:re.compile("cheng.*zhe",re.S).findall("XiaoZhe")
    匹配后:"cheng\nxuyuan\nxiao\nzhe"
    

    以上就是个人总结的关于正则表达式的知识点,望采纳
    除了正则表达式外,我还推荐大家学习另一款XPath表达式,非常简单,比较重要,
    XPath表达式在我的另一篇博客有介绍,如果没看到说明还没写完哈
    在这里插入图片描述

    展开全文
  • 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串...本文重点给大家介绍python 正则表达式语法。 The special characters are:  “.” M
  • 本篇文章主要介绍了js正则表达式语法,详细的介绍了js正则表达式的各种用法、规则等,有兴趣的同学可以了解一下。
  • 正则表达式语法 通过 SIMILAR TO 和 REGEXP 搜索条件以及 REGEXP_SUBSTR 函数支持正则表达式。对于 SIMILAR TO,正则表达式语法符合 ANSI/ISO SQL 标准。对于 REGEXP 和 REGEXP_SUBSTR,正则表达式的语法和支持符合 ...
  • 主要介绍了正则表达式语法知识的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • 下面小编就为大家带来一篇老生常谈JavaScript 正则表达式语法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • JAVA正则表达式语法大全总结,希望对大家有所帮助。。
  • 正则表达式二 报告人刘冲 正则表达式概述 在编写处理字符串的程序时经常会有查找符合某些复杂规则的字符串的需要正则表达式就是用于描述这些规则的工具换句话说正则表达式就是记录文本规则的代码 正则表达式语法 1....
  • 正则表达式语法

    2011-06-08 19:22:00
    正则表达式语法 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所...
    正则表达式语法 
       
      一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 
       
      这里有一些可能会遇到的正则表达式示例: 
       
      Visual Basic VBScript 匹配 
      Scripting Edition 
       
      /^[ t]*$/ "^[ t]*$" 匹配一个空白行。 
       
      /d{2}-d{5}/ "d{2}-d{5}" 验证一个ID号码是否由一个2位字,一 
       个连字符以及一个5位数字组成。 
       
      /<(.*)>.*1>/ "<(.*)>.*1>" 匹配一个 HTML 标记。 
       
       
      下表是元字符及其在正则表达式上下文中的行为的一个完整列表: 
       
      字符 描述 
       
       将下一个字符标记为一个特殊字符、或一个原义字符、或一个 后 
       向引用、或一个八进制转义符。例如,’n’ 匹配字符 "n"。’n’ 
       匹配一个换行符。序列 ’’ 匹配 "" 而 "(" 则匹配 "("。 
       
      ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 
       Multiline 属性,^ 也匹配 ’n’ 或 ’r’ 之后的位置。 
       
      $ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的 
       Multiline 属性,$ 也匹配 ’n’ 或 ’r’ 之前的位置。 
       
      * 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 
       "zoo"。 * 等价于{0,}。 
       
      + 匹配前面的子表达式一次或多次。例如,’zo+’ 能匹配 "zo" 以 
       及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。 
       
      ? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 
       "do" 或 "does" 中的"do" 。? 等价于 {0,1}。 
       
      {n} n 是一个非负整数。匹配确定的 n 次。例如,’o{2}’ 不能匹配 
       "Bob" 中的 ’o’,但是能匹配 "food" 中的两个 o。 
       
      {n,} n 是一个非负整数。至少匹配n 次。例如,’o{2,}’ 不能匹配 
       "Bob" 中的 ’o’,但能匹配 "foooood" 中的所有 o。’o{1,}’ 
       等价于 ’o+’。’o{0,}’ 则等价于 ’o*’。 
       
      {n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹 
       配 m 次。刘, "o{1,3}" 将匹配 "fooooood" 中的前三个o。 
       ’o{0,1}’等价于’o?’。请注意在逗号和两个数之间不能有空格 
       
      ? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, 
       {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的 
       匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜 
       索的字符串。例如,对于字符串 "oooo",’o+?’ 将匹配单个 
       "o",而 ’o+’ 将匹配所有 ’o’。 
       
      . 匹配除 "n" 之外的任何单个字符。要匹配包括 ’n’ 在内的任 
       何字符,请使用象 ’[.n]’ 的模式。 
       
      (pattern) 匹配pattern 并获取这一匹配。所获取的匹配可以从产生的 
       Matches 集合得到,在VBScript 中使用 SubMatches 集合,在 
       Visual Basic Scripting Edition 中则使用 $0…$9 属性。要 
       匹配圆括号字符,请使用 ’(’ 或 ’)’。 
       
      (?:pattern) 匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹 
       配,不进行存储供以后使用。这在使用 "或" 字符 (|) 来组合 
       一个模式的各个部分是很有用。例如, ’industr(?:y|ies) 就 
       是一个比 ’industry|industries’ 更简略的表达式。 
       
      (?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符 
       串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后 
       使用。例如,’Windows (?=95|98|NT|2000)’ 能匹配"Windows 
       2000"中的"Windows",但不能匹配"Windows3 .1"中"Windows"。 
       预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹 
       配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之 
       后开始。 
       
      (?!pattern) 负向预查,在任何不匹配Negative lookahead matches the 
       search string at any point where a string not matching 
       pattern 的字符串开始处匹配查找字符串。这是一个非获取匹 
       配,也就是说,该匹配不需要获取供以后使用。例如’Windows 
       (?!95|98|NT|2000)’ 能匹配 "Windows 3.1" 中的 "Windows", 
       但不能匹配 "Windows 2000" 中的 "Windows"。预查不消耗字 
       符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开 
       始下一次匹配的搜索,而不是从包含预查的字符之后开始 
       
      x|y 匹配 x 或 y。例如,’z|food’ 能匹配 "z" 或 "food"。’(z|f) 
       ood’ 则匹配 "zood" 或 "food"。 
       
      [xyz] 字符集合。匹配所包含的任意一个字符。例如, ’[abc]’ 可以 
       匹配 "plain" 中的 ’a’。 
       
      [^xyz] 负值字符集合。匹配未包含的任意字符。例如, ’[^abc]’ 可以 
       匹配 "plain" 中的’p’。 
       
      [a-z] 字符范围。匹配指定范围内的任意字符。例如,’[a-z]’ 可以匹 
       配 ’a’ 到 ’z’ 范围内的任意小写字母字符。 
       
      [^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符。例如, 
       ’[^a-z]’ 可以匹配任何不在 ’a’ 到 ’z’ 范围内的任意字符。 
       
      b 匹配一个单词边界,也就是指单词和空格间的位置。例如, 
       ’erb’ 可以匹配"never" 中的 ’er’,但不能匹配 "verb" 中 
       的 ’er’。 
       
      B 匹配非单词边界。’erB’ 能匹配 "verb" 中的 ’er’,但不能匹 
       配 "never" 中的 ’er’。 
       
      cx 匹配由x指明的控制字符。例如, cM 匹配一个 Control-M 或 
       回车符。 x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一 
       个原义的 ’c’ 字符。 
       
      d 匹配一个数字字符。等价于 [0-9]。 
       
      D 匹配一个非数字字符。等价于 [^0-9]。 
       
      f 匹配一个换页符。等价于 x0c 和 cL。 
       
      n 匹配一个换行符。等价于 x0a 和 cJ。 
       
      r 匹配一个回车符。等价于 x0d 和 cM。 
       
      s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 
       [ fnrtv]。 
       
      S 匹配任何非空白字符。等价于 [^ fnrtv]。 
       
      t 匹配一个制表符。等价于 x09 和 cI。 
       
      v 匹配一个垂直制表符。等价于 x0b 和 cK。 
       
      w 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’。 
       
      W 匹配任何非单词字符。等价于 ’[^A-Za-z0-9_]’。 
       
      xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确 
       定的两个数字长。例如, ’x41’ 匹配 "A"。’x041’ 则等价 
       于 ’x04’ & "1"。正则表达式中可以使用 ASCII 编码。. 
       
      num 匹配 num,其中num是一个正整数。对所获取的匹配的引用。 
       例如,’(.)1’ 匹配两个连续的相同字符。 
       
      n 标识一个八进制转义值或一个后向引用。如果 n 之前至少 n 
       个获取的子表达式,则 n 为后向引用。否则,如果 n 为八进制 
       数字 (0-7),则 n 为一个八进制转义值。 
       
      nm 标识一个八进制转义值或一个后向引用。如果 nm 之前至少有 
       is preceded by at least nm 个获取得子表达式,则 nm 为后 
       向引用。如果 nm 之前至少有 n 个获取,则 n 为一个后跟文 
       字 m 的后向引用。如果前面的条件都不满足,若 n 和 m 均为 
       八进制数字 (0-7),则 nm 将匹配八进制转义值 nm。 
       
      nml 如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0- 
       7),则匹配八进制转义值 nml。 
       
      un 匹配 n,其中 n 是一个用四个十六进制数字表示的Unicode字 
       符。例如, u00A9 匹配版权符号 (?)。 
    
    
    
    http://fineboy.cnblogs.com/archive/2005/09/08/232410.html
    
    
    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,722
精华内容 7,088
关键字:

正则表达式语法