Notepad++ 用正则表达式处理字符

Notepad++ 用正则表达式处理字符 Notepad可以使用正则表达式替换字符功能强大。1. 正则表达式特性1.1 常见语法点号 . 匹配除换行符外的任何单个字符。星号 * 表示零个或多个前一字符/组。加号 表示一个或多个前一字符/组。问号 ? 表示前一个字符/组是可选的即出现零次或一次。小括号() 代表分组后面可以引用分组中匹配的内容。使用$0, $1, $2 或 \0, \1, \2等引用分组。中括号 [] 匹配一组字符中的任何一个字符。例如 [abc] 匹配 a 或 b 或 c[a-z] 匹配从a到z范围内的任意小写字母[^abc] 匹配不是 a 或 b 或 c 的字符[^0-9] 会匹配任意一个非数字的字符。大括号 {} 指定前面的元素必须出现的次数。例如 {n} 表示前面的元素出现n次{n,} 表示前面的元素至少出现n次{n,m} 表示前面的元素出现的次数在n次到m次包括n次和m次之间。^ 代表行首$ 代表行尾。转义字符 \ 1用于转义特殊字符本身。例如 \. 匹配实际的点号而不是任意字符\\ 匹配 \ 本身。2还可以用于转义序列。\d 匹配1个数字字符\D 与 \d 相反匹配1个非数字字符。\s 匹配1个空白字符包括空格、制表符、换行符等。\S 与 \s 相反匹配1个非空白字符。\w 匹配数字、字母和下划线_在Notepad中还匹配汉字。\W 与 \w 相反匹配其他字符。1.2 贪婪模式和非贪婪模式贪婪模式使用.*它会尽可能多地匹配字符非贪婪模式使用.*?它会尽可能少地匹配字符。例如 字符串aabcb。a.*b 使用贪婪模式匹配aabcba.*?b 使用非贪婪模式匹配aab。2. 使用正则表达式替换字符2.1 操作步骤点击Notepad菜单Search - Replace在出现的对话框中点击Replace标签。在Search Mode框点击选择Regular expression在Find what输入框填写被查找内容在Replace with输入框填写用来替换的内容。然后点击Replace All按钮。完成了。下面具体讨论填写的内容。2.2 行尾加文字或字符比如在行尾添加逗号 1方法1在Find what输入框填写\r在Replace with输入框填写\r解析Windows 系统使用\r\n 组合代表文本换行。\r 代表回车Carriage Return。2方法2在Find what输入框填写$在Replace with输入框填写解析$ 代表行尾。2.3 分割字符串比如想把字符串 123 改为 1,2,3, 的形式。在Find what输入框填写.在Replace with输入框填写$0,解析. 代表任意单个字符先后匹配12和3。$0 引用匹配的整个字符串。. 匹配1时 $0 引用1 $0, 变成 1, 。以此类推…补充说明$1 引用第1个分组的内容。以此类推$2 引用第2个分组的内容…2.4 插入字符串比如把所有 “干净的教室” 改为 “干净明亮的教室”。在Find what输入框填写(干净)(的教室)在Replace with输入框填写\1明亮\2解析\1 引用第1个分组的内容内容是 干净\2 引用第2个分组的内容内容是 的教室2.5 删除重复的字符串比如删除字符串 123123123 中重复的部分剩下 123。在Find what输入框填写(\d)\1在Replace with输入框填写\1解析Find what输入框\d对匹配的多个数字字符进行分组这里匹配第1个123\1 引用第1个分组的内容这里匹配第2个123 代表引用的字符重复一到多次这里匹配第3个123。Replace with输入框\1 引用第1个分组的内容内容是 123。