在Notepad++中使用正则表达式替换文本

文本内容为:

境界面(BOUNT)
兴趣面(POINT)
兴趣点(POIPT)
交通线(TRALK)

其中“境界面”、“兴趣面”等中文部分为图层名称,BOUNT、POINT等英文部分为图层别名。

希望通过替换后的文本内容为:

*BOUNT,境界面,面
*POINT,兴趣面,面
*POIPT,兴趣点,点
*TRALK,交通线,线

即,将原来的“中文名(英文名)”的格式修改为“*英文名,中文名,图层类型”的格式,且图层类型来源为中文图层名的最后一个字。

使用的正则表达式为:

^(.+?)([点线面]{1})(([A-Z]+))
表达式说明:

    “^”匹配输入字符串的开始位置,即本例中的一整行文本;

    第一个括号中的内容“.+?”匹配除换行符“\n”之外的任意一个字符,如本例中的“境”部分;

    第二个括号中的内容匹配的是在“点、线、面”集合中的一个字符,如本例中的“面”;

    第三个括号中的内容匹配的是大写的A-Z字符部分。

匹配结果示例如下:在Notepad++中使用正则表达式替换文本_第1张图片

在Notepad++中使用正则表达式替换文本_第2张图片

在Notepad++中使用正则表达式替换文本_第3张图片

使用下述表达式取到匹配结果并替换为指定的格式:

*$3,$1$2,$2
说明:$后跟序号N(如:$3),表示取到结果集中的第N条记录。其中第0条记录为完整的结果本身,第1条起为表达式括号中的内容。

在Notepad++中进行操作示例如下:

替换前:

在Notepad++中使用正则表达式替换文本_第4张图片

替换后:

在Notepad++中使用正则表达式替换文本_第5张图片



你可能感兴趣的:(正则表达式)