zoukankan      html  css  js  c++  java
  • UE中使用正则表达式的一些技巧

    http://www.cnblogs.com/sanpoye/archive/2012/04/18/2454945.html以下是网上摘录的UE 技巧

    1)删除空行: 替换 %[ ^t]++^p 为 空串 

    2)删除行尾空格: 替换 [ ^t]+$ 为 空串 

    3)删除行首空格: 替换 %[ ^t]+ 为 空串

    4)每行设置为固定的4个空格开头: 替换 %[ ^t]++^([~ ^t^p]^) 为 " ^1" 

    5)每段设置为固定的4个空格开头: 替换 %[ ^t]+ 为 " " (如果一行是以空格开始的,则视之为一段的开始行) 

    6)将一段合并为一行: 替换 [ ^t]++^p^([~ ^t^p]^) 为 ^1 (注意: 此处假定文本是以DOS方式回车换行 - CR/LF) 

    7)去掉HTML TAG: 替换 ^{<*>^}^{<*^p*>^} 为 空串 

    8)删除HTML中的所有<A>: 替换 <[ ]++a *[ ]++href[ ]++=*> 为 空串 

    9)删除文本中指定的前2列字符: 替换 %?? 为 空串 

    10)在第4列后插入2列空白字符: 替换 %^(????^)^(?^) 为 "^1 ^2" 

    11)查找所有的数字: [0-9]+[.]++[0-9]+ 

    12)查找所有的单词: [a-z]+ 

    13)查找所有的网址: http://[a-z0-9^~`_./^-^?=&]+ 

     

    UltraEdit正则表达式(UltraEdit Syntax)

    %1 搜索以1开头的行

    1$ 搜索以1为结尾的行

    ? 匹配单字符

    * 匹配多字符

    Te+st 匹配"test", "teest", "teeeest" 等. 但不匹配 "tst".

    te++st 匹配"test", "teest", "teeeest","tst" 等. 但不匹配 .

    ^p 新行 (DOS Files格式)

    ^r 新行 (MAC Files格式)

    ^n 新行 (UNIX Files格式)

    ^t tab键

    [1-9] 匹配1-9的数字

    [linux] 匹配linux中任何一个单词

    [~0-9] 除数字外任何一个词

    "^{John^}^{Tom^}" 搜索john和tom 如john sdfasdf tom被选种,当然不包括sdfasdf,其中^{和^}是分割符

     

    以下是自己做的例子:

    1:替换空格或TAB后的所有字符(这个常常在取字段列名时有用到,因为用desc列出来的信息降了列名外还有列类型,列空约束和列注释信息):

    命令:将[ ^t]+*$替换为空

    1.1:替换前,图1.1:

    1.2:用CRTL+R调出替换窗口,然后按下面的输入,替换,图1.2(注意,此处要选择正则表示式,默认情况下不勾选):

     

    1.3:替换后,图1.3:

     

    从替换结果来看,说明查找的顺序是从前到后,替换是从第一个开始查找到的字符位置开始的。

    依此递推,当我们想将特定字符串后的内容替换为特定内容或者空时,,只需将%*{特定字符串}替换成空为可以了。

     

     

    2、替换含有空格或TAB键前的所有内容

    操作:将%*[ ^t]替换为空

    2.1替换前,如图1.1

    2.2替换后,图2.2:

     

    依此递推,当我们想将特定字符串前的内容替换为特定内容或者空时,只需将{特定字符串}+*$替换成空为可以了。

     

    3、空行或仅含有空格和TAB键的行

    操作:将%[ ^t]++^p替换为空

    3.1:替换前,图3.1:

    3.2:替换后,图3.2:

     

    依此递推,如果想将仅含有特定字符串的行删除,也可采用%{特定字符串}++^p替换为空为可以了

     

     

    4、在行末添加;分号字符

    操作:将$替换成;

    4.1:替换前,如图1.1。

    4.2:替换后:

     

    5、在行首添加添加4个空格:

    操作:%替换成四个空格或者用UE的列块模式

    5.1:替换前,如图1.1

    5.2:替换后,图5.2:

     

    6、将含有varchar字符串的行删除:

    操作:将%*varchar*^p替换成空

    6.1:替换前,如图1.1

    6.2:替换后,图6.2:

     

    7、以;做分隔,进行分行处理

    操作:将;替换成;^p

    7.1:替换前,图7.1:

    7.2:替换后,图7.2:

     

     

     

    小结:

          以上是一些常用的UE的正则式应用,在本人的工作中,常常是在生成创建或修改数据库对象的SQL语句时用到,它给我们平时的工作带来很大的例行性。对于LINUX、UNIX和ORACLE 10G后的版本,都有对正则表达式的支持,语法上大同小异,使用正则表达式,会给我们的日志文本处理和字符串匹配带来很大的便利性。工欲善其事,必行利其器。正则表达式,就是我们的日常工作的必备手段之一。

  • 相关阅读:
    服务器状态码
    QuerySet中添加Extra进行SQL查询
    django配置一个网站建设
    MySQL数据库查询中的特殊命令
    125. Valid Palindrome
    121. Best Time to Buy and Sell Stock
    117. Populating Next Right Pointers in Each Node II
    98. Validate Binary Search Tree
    91. Decode Ways
    90. Subsets II
  • 原文地址:https://www.cnblogs.com/svennee/p/4069742.html
Copyright © 2011-2022 走看看