当前位置: 首页 > news >正文

UltraEdit正则表达式搜索替换小技巧

由于需要,要将Admodfy导出来的ldf文件内容做修改,样例如下

dn:CN = 蔡妮 , OU = ADImportOU , DC = myDomain , DC = com , DC = cn
changetype:add
objectClass:contact
cn:蔡妮
sn:蔡妮
mailNickname:lily
. cai
targetAddress:lily
. cai@myDomain . com . cn
proxyAddresses:X400
:c = us ; a = ; p = myDomain ; o = Exchange ; s = lily . cai ;
proxyAddresses:SMTP
:lily.cai @myDomain . com . cn
mail:lilycai@myDomain
. com . cn
company:总部
department:财务
DisplayName:蔡妮[Lily]
name:蔡妮
profilePath:
\ ServerName UserConf $ lily . cai

要将含有X400邮件地址的行和profilePath的行删除掉,修改为

dn:CN = 蔡妮 , OU = ADImportOU , DC = myDomain , DC = com , DC = cn
changetype:add
objectClass:contact
cn:蔡妮
sn:蔡妮
mailNickname:lily
. cai
targetAddress:SMTP
:lily . cai@myDomain . com . cn
proxyAddresses:SMTP
:lily . cai@myDomain . com . cn
mail:lily
. cai@myDomain . com . cn
company:总部
department:财务
DisplayName:蔡妮[Lily]
name:蔡妮

由于文本中有大量的用户,手工删除很不现实,于是使用UltraEdit的正则表达式搜索删除,问题很快解决,用UltraEdit打开文本,首先到菜单中选择正则表达式引擎,正则表达式引擎分支位于“配置 - 搜索”之下,有如下选项:

Perl 兼容正则表达式
如果选中该选项,则编辑器将基于 Boost C++ 库使用 Perl 样式的正则表达式(当在查找/替换对话框里选中正则表达式时)。

UltraEdit 样式正则表达式
如果选中该选项,则编辑器将在查找/替换对话框里选中正则表达式时使用 UltraEdit 样式的正则表达式。

UNIX 样式正则表达式
如果选中该选项,则编辑器将在查找/替换对话框里选中正则表达式时使用 UNIX 样式的正则表达式。

选择自己喜好的正则表达式类型,不同的引擎语法不同,比如Perl兼容的正则表达式,回车是\r,而在UltraEdit风格的以及Unix兼容的回车则分别是^p和\n,下面以UltraEdit风格来说明。

选好风格后开始搜索,使用Ctrl+R弹出替换对话框,钩选“正则表达式”,搜索内容中输入 *X400*^p ,替换为空即可,点击全部替换后,则所有包含X400字样的行都被删除。

附:

正则表达式 (UltraEdit 语法):

% 匹配行首 - 表示搜索字符串必须在行首,但不包括任何选定的结果字符中的行终止字符。

$ 匹配行尾 - 表示搜索字符串必须在行尾,但不包括任何选定的结果字符中的行终止字符。

? 匹配任何除换行符的字符。

* 匹配任何除换行符外所出现的任意数量的字符。

+ 匹配一个或多个前面的字符/表达式。必须找到至少一个出现的字符。不匹配重复的换行符。

++ 0 次或多次匹配前面的字符/表达式。不匹配重复的换行符。

^b 匹配一个分页符。

^p 匹配一个换行符 (CR/LF) (段落) (DOS 文件)

^r 匹配一个换行符 (仅 CR) (段落) (MAC 文件)

^n 匹配一个换行符 (仅 LF) (段落) (UNIX 文件)

^t 匹配一个制表符

[ ] 匹配任何括号中的单个字符或范围

^{A^}^{B^} 匹配表达式 A 或 B

^ 忽略其后的正则表达式字符

^(*^) 在表达式加上括号或标签在替换命令中使用。正则表达式中可以有 9 个表达式标签,数字根据它们在正则表达式中的次序确定数字。

相应的替换表达式是 ^x,x 的范围是 1-9。例如: 如果 ^(h*o^) ^(f*s^) 匹配“hello folks”,那么^2 ^1 表示将用“folks hello”替换它。

相关文章:

  • java 动态调用可变参数传递_「params」Java基础------动态参数(可变参数,例如:Object... params) - seo实验室...
  • 清空列表,重新验证
  • java holdslock_Java Thread holdLock()方法
  • 启动websphere找不到java类_开发项目时,提示 找不到类的解决方法,以及如何设置编译源目录...
  • SharePoint 2007 部署篇
  • 关于书稿
  • java jpa 注解_Spring Data JPA 中常用注解
  • 奋斗在当下
  • java onmouseover_[Java教程]关于onmouseover和onmouseout的bug
  • java中方法前面必须使用类名吗_java中可以直接对类名进行引用吗?
  • 博大精深!
  • java实现仿射密码_java实现仿射密码加密解密
  • IPv4单播地址
  • 几个IPv4地址类型术语
  • mysql 模拟 数据库阻塞_[数据库]MySQL 5.6中如何定位DDL被阻塞的问题
  • [笔记] php常见简单功能及函数
  • 【Leetcode】104. 二叉树的最大深度
  • 【React系列】如何构建React应用程序
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • interface和setter,getter
  • JS数组方法汇总
  • Linux gpio口使用方法
  • Linux后台研发超实用命令总结
  • maven工程打包jar以及java jar命令的classpath使用
  • Shell编程
  • vue脚手架vue-cli
  • 从零搭建Koa2 Server
  • 基于游标的分页接口实现
  • 七牛云假注销小指南
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 听说你叫Java(二)–Servlet请求
  • 小程序开发之路(一)
  • 携程小程序初体验
  • 正则与JS中的正则
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #大学#套接字
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • ()、[]、{}、(())、[[]]命令替换
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • ***详解账号泄露:全球约1亿用户已泄露
  • .bat批处理(一):@echo off
  • .htaccess配置重写url引擎
  • .NET Core跨平台微服务学习资源
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET建议使用的大小写命名原则
  • .Net语言中的StringBuilder:入门到精通
  • .NET中使用Redis (二)