正则收藏

正则收藏1、百度文档http://wenku.baidu.com/link?url=dkpaAAk7kwwjkq_TMxDPkCfswDKOHQoUQRO2opVCqDitxTAz4DysF9JyJPZlDZMoFBO5t0EbIk4Dvdd3fnsZN_Pt9j9VOPdsJnvj6MwcmPahtt

大家好,欢迎来到IT知识分享网。

 

1、百度文档

http://wenku.baidu.com/link?url=dkpaAAk7kwwjkq_TMxDPkCfswDKOHQoUQRO2opVCqDitxTAz4DysF9JyJPZlDZMoFBO5t0EbIk4Dvdd3fnsZN_Pt9j9VOPdsJnvj6MwcmPa

 

http://www.cnblogs.com/Jacklovely/p/5605861.html

2、常用

     2.0 “()”  和  “[]” 的区别

            (土建|建筑)   : 只要包含“土建”   或者  “建筑” 就能识别,“土建”和“建筑”是一个整体

             [土建|建筑]  : 只要包含”土”,”建”,”建”,“筑” 四个任何一个都可以识别

     2.1 (土建|建筑)(?!(.*(分包|装饰)))   //包含土建或者建筑但是不能包含分包也不能包含装饰
     2.2 中括号+竖线表示并列关系,例如      

           [钢筋|圆钢|箍筋].*级

     2.3 不包含
          2.3.1 单个不包含:

                 2.3.1.1 格式   (?!(.*(不包含的内容)))   , 例子:  C.*现浇(?!(.*(楼梯))).*梁   :红色表示不能包含楼梯,蓝色:表示可以包含任何内容
          2.3.2 多个不包含格式:    (?!(.*(不包含A|不包含B)))

          2.3.3 疑惑:不能单独使用,例如,如果想判断一个字符串不包含楼梯,那么不能单独使用:(?!(.*(楼梯)))

                  如果单独,计算结果不理想,解决办法,在此表达式前面添加其他说明,或者将不包含的内容从括号提出一部分

          2.3.4 (?<!李智)土建(?![分包|装饰]) : 土建左边不能有李智,右边及不能有分、包、装、饰等任何一个字.

                  (?<!((李智).*))土建(?!(.*(分包|装饰))):土建左边可以有任何内容,但是不能有李智

                                                                              土建右边可以有任何内容,但是不能有’分包’ 或者 ‘装饰’

          2.3.5 土建(?!(.*(李智))):土建右边可以有任何内容,但是不能有李智

          2.3.6 土建(?!(李智)):土建后面不能紧跟李智

          2.3.7 (?<!((地).*))面砖             面砖左边可以有任何内容,但是不能有地

          2.3.8 (?<!地)面砖                    面砖不能紧跟在地后面

    2.4 一个数字:[0-9.]+

         例如:DN[0-9.]+mm2   ,可以匹配,DN10mm2, DN5mm2,DN34.8mm2

    2.5 导线.*[0-9.]+mm2(以内|以下)

          由于以内,一下是多个字符,所以不能使用中括号,必须使用小括号

    2.6 定额名称之间空白 \s+

         匹配模式:防护栏杆\s+[0-9.]+m    可以匹配:防护栏杆  0.9M

    2.7 向后查找

          2.7.1 取一个数字,这个数字的前面要包含一些字符

                   (?<=厚度\(mm\):)[0-9]+             数字前面要包含 厚度(mm):

          2.7.2 (?<=C\s*)[0-9]+(?=(现浇)?砼) 提取砼的型号数字

                    文本:实际厚度(mm):140 换为【C303现浇砼 碎石<31.5】[商砼]  将提取出来   303

   2.8 模板后面不能包含基础、墙、垫层、梁、板、楼梯

         模板(?!(.*(基础(\s+|$)|墙|基础.*形|垫层(\s+|$)|梁(\s+|$)|板(\s+|$)|柱(\s+|$)|板.*形|楼梯)))

   2.9 不包含道路、桥梁、供水、排水、燃气、路灯

        ^((?!(道路|桥梁|供水|排水|燃气|路灯)).)*$

  2.10 只能包含:装饰 或者 装修,前后都不能包含土建,建筑
    (?<!((土建|建筑).*))(装饰|装修)(?!(.*(土建|建筑)))

 2.11 反向应用案例,例如下面一段html,只提取蓝色的项目名称

        项目名称</td> <td style=”border-right:#000 1px solid;border-bottom:#000 1px solid;”>良乡北站10KV出线电力沟道工程(第二标段)</td>

       正则如下:(?<=项目名称</td> <[^>]+>).*?(?=</td>)

 

3、http://www.cnblogs.com/dwlsxj/p/3532458.html 

3、mysql:http://www.jb51.net/article/72928.htm

4、https://www.host900.com/index.php/articles/211/

 

5、反向引用

     5.1 案例说明。将多个sql语句变为一个sql语句

(select count(*) from ce_notice_file;
(select count(*) from bid_invitation;
(select count(*) from ce_open_bid;
(select count(*) from ce_open_bid_detail;

希望变成一下样式:

select
(select count(*) from ce_notice_file ) as ce_notice_file,
(select count(*) from bid_invitation ) as bid_invitation,
(select count(*) from ce_open_bid ) as ce_open_bid,
(select count(*) from ce_open_bid_detail ) as ce_open_bid_detail

5.2 需要在匹配中提取表名,并且在替换中重复应用匹配中的表名,正则如下:

     from (.*?);

     5.2.1 括号内容的东西=表名,在替换是可以使用  \1 应用匹配到的表名

              本正则的意思,匹配from和;之间的内容,并将from和;之间的内容存入一个变量 \1

     5.2.2 替换表达式:

              from \1 \) as \1,

    5.2.3 本正则在Notepad++中使用通过,如图:

       正则收藏

    

 

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/30748.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信