设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
有没有可以定义变元的正则表达式替换器 ...
返回列表
发新帖
有没有可以定义变元的正则表达式替换器
[复制链接]
11
|
4
|
2011-9-11 01:53:34
|
显示全部楼层
|
阅读模式
为了替换一些文本,前两天简单学了一下正则表达式,现在匹配倒是能成功,实际替换却遇到了问题比如有这么一串文本(文本分行)……[2645]A[521]B[1445]C[54565]D[4154]E[4545]F…………[154]A[1212]B[0000]C[9988]D[0009]E[7544]F……现在我要把方括号的数字保持不变,把A,D,E分别替换成X,Y,Z然后我知道匹配的表达式是\\]A\\[.\\]D\\[.\\]E\\[问题是我不知道用什么工具吧中间的“521]B[1445]C[54565”原封不动的保留下来好像\\]A\\[(.*)\\]D\\[(*.)\\]E\\[-\\]A\\[\\1\\]D\\[\\2\\]E\\[编辑器也不认,居然确实给替换成“\\]A\\[\\1\\]D\\[\\2\\]E\\[”这个文本了……
回复
使用道具
举报
千问
|
2011-9-11 01:53:34
|
显示全部楼层
你用的什么编辑器不管你什么空格,你把那个.*括起来就行了\"\\n.*\\n\\n\"改为\"\\n(.*)\\n\\n\"替换为\"\\n\\1\\n\\n\"别忘了去了引号不行hi我
回复
使用道具
举报
千问
|
2011-9-11 01:53:34
|
显示全部楼层
替换为应该是这样:\\]X\\[$1\\]Y\\[$2\\]Z\\[懂?
回复
使用道具
举报
千问
|
2011-9-11 01:53:34
|
显示全部楼层
正则表达式应该这样用:搜索(\\])A(\\[.*?\\])D(\\[.*?\\])E(\\[)替换为\\1X\\2Y\\3Z\\4软件ReplacePioneer对正则表达式支持得很好,具体步骤:1.ctrl-o打开文本文件2.ctrl-h打开replace窗口*在Searchforpattern输入(\\])A(\\[.*?\\])D(\\[.*?\\])E(\\[)即可*在Replacewithpattern输入\\1X\\2Y\\3Z\\4即可3.点击Replace完成替换,ctrl-s存盘。另外,把你的表达式稍改一下也行:搜索\\]A\\[(.*?)\\]D\\[(.*?)\\]E\\[替换为\\]X\\[\\1\\]Y\\[\\2\\]Z\\[参考资料:http://baike.baidu.com/view/1750004.htm
回复
使用道具
举报
千问
|
2011-9-11 01:53:34
|
显示全部楼层
使用notepad打开,选择替换,查找目标:(.*?)A(.*?)D(.*?)E替换为:\\1X\\2Y\\3Z选择循环查找,正则表达式,按全部替换。
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行