1、去掉第三世第十三世之类的前缀:
^(第)(\w{1,})(世)($|\W|\s)
2、去掉行首名字加公的“公”字
^(\w)(公,)
3、去掉某某公之子的“公”字
(\W\w.?)(公)(\w子\W)
替换为:\1\3
4、把“名字+字什么号什么+某某之子”调为“名字+某之子”的顺序
查找:(abc\w.*\W)(\w.*\W)(\w.?公\w子)(\W)
替换为:\1\3,\2
5、去掉“名字+,+见后”
^(\w{1,}\,)(见后)
6、替换适前后斜杠正则表达式
(/)(\w{0,})(适)(\w{0,})(/)
\2\3\4
7、删掉见后无用记录行
^(\w{1,})(,)(见后)(\W|)
8、删除空行
^(\s*)\r\n
9、提取某某子放名字后
^(\w{1,2}\W)(\w.*)(\W)(\w{1,3}子,)
\1\4\2\3
文本内容为:
境界面(BOUNT)
兴趣面(POINT)
兴趣点(POIPT)
交通线(TRALK)
其中“境界面”、“兴趣面”等中文部分为图层名称,BOUNT、POINT等英文部分为图层别名。
希望通过替换后的文本内容为:
*BOUNT,境界面,面
*POINT,兴趣面,面
*POIPT,兴趣点,点
*TRALK,交通线,线
即,将原来的“中文名(英文名)”的格式修改为“*英文名,中文名,图层类型”的格式,且图层类型来源为中文图层名的最后一个字。
使用的正则表达式为:
^(.+?)([点线面]{1})(([A-Z]+))
分组打包:
第一组:^(.+?)
第二组:([点线面]{1})
第三组:(([A-Z]+))
表达式说明:
“^”匹配输入字符串的开始位置,即本例中的一整行文本;
第一个括号中的内容“.+?”匹配除换行符“\n”之外的任意一个字符,如本例中的“境”部分;
第二个括号中的内容匹配的是在“点、线、面”集合中的一个字符,如本例中的“面”;
第三个括号中的内容匹配的是大写的A-Z字符部分。
被替换为:
\3,\1\2,\2
说明:$后跟序号N(如:$3),表示取到结果集中的第N条记录。其中第0条记录为完整的结果本身,第1条起为表达式括号中的内容。
调整组序:
\3 公式得到的第三组内容调整到最前
\1\2 公式得到的第一组内容和第二组内容其后
\2 公式得到的第二组内容在最后
注意:\3,和\2, 后边的标点符号是在原文后加逗号。而原文中的()没有保留。
等价是等同于的意思,表示同样的功能,用不同符号来书写。
?,*,+,\d,\w 都是等价字符
?等价于匹配长度{0,1}
*等价于匹配长度{0,}?
+等价于匹配长度{1,}
\d等价于[0-9]
\D等价于[^0-9]
\w等价于[A-Za-z_0-9]
\W等价于[^A-Za-z_0-9]。
常用运算符与表达式:
^ 开始
() 域段
[] 包含,默认是一个字符长度
[^] 不包含,默认是一个字符长度
{n,m} 匹配长度?
. 任何单个字符(\. 字符点)
| 或
\ 转义
$ 结尾
[A-Z] 26个大写字母
[a-z] 26个小写字母
[0-9] 0至9数字
我的手机 2018-02-07 16:29:13
常用运算符与表达式:
^ 开始
() 域段
[] 包含,默认是一个字符长度
[^] 不包含,默认是一个字符长度
{n,m} 匹配长度?
文本批量替换的正则表达式
最新推荐文章于 2024-01-19 05:31:54 发布
本文详细介绍了正则表达式在文本批量替换中的应用,提供了多个具体的替换示例,如删除特定字符、调整文本顺序、处理图层名称格式等,帮助读者理解和掌握正则表达式的使用技巧和常见操作。
摘要由CSDN通过智能技术生成