Notepad++ 的一些正则应用记录

删除

删除以指定字符开头的所有行

在 Notepad++ 中,您可以使用正则表达式来删除以指定字符(本例中为”error”)开头的所有行。请按照以下步骤进行操作:

  1. 打开 Notepad++ 并打开您要操作的文本文件。
  2. 点击菜单栏上的 “查找” -> “替换”,或者使用快捷键 “Ctrl + H”,以打开查找替换对话框。
  3. 在 “查找” 框中输入正则表达式模式 ^error.*$,这将匹配以 “error” 开头的整行文本。
    • ^ 表示行的开头。
    • error 匹配具体的文本 “error”。
    • .* 匹配任意字符(除换行符外)。
    • $ 表示行的结尾。
  4. 在 “替换” 框中留空,即删除匹配到的行。
  5. 在 “查找模式” 下选择 “正则表达式”。
  6. 点击 “替换全部” 按钮,以删除所有以 “error” 开头的行。

注意事项:

  • 在执行替换操作之前,请确保备份您的文件或在操作前确认对文件的修改不会造成不可挽回的损失。
  • 请确保正则表达式模式和搜索模式正确设置,以避免意外的匹配和替换。

删除以指定字符结尾的行

要删除以指定字符(本例为”vmdb”)结尾的行,您可以按照以下步骤在 Notepad++ 中使用正则表达式进行操作:

  1. 打开您的文本文件。
  2. 在菜单栏中选择 “编辑”(Edit)> “替换”(Replace),或者使用快捷键 Ctrl + H。
  3. 在弹出的 “替换”(Replace)对话框中,确保选择 “正则表达式”(Regular expression)选项。
  4. 在 “查找内容”(Find what)框中输入 .*vmdb$
  5. 在 “替换为”(Replace with)框中留空,即不输入任何内容。
  6. 点击 “替换”(Replace)或 “全部替换”(Replace All)按钮,进行删除操作。

完成后,所有以 “vmdb” 结尾的行都将被删除。

删除包含指定字符的所有行

要删除包含指定字符(本文示例:”Initializing”)的整行文本,您可以按照以下步骤在 Notepad++ 中使用正则表达式进行操作:

  1. 打开您的文本文件。
  2. 在菜单栏中选择 “查找”(Find)> “查找”(Find),或者使用快捷键 Ctrl + F。
  3. 在 “查找”(Find)选项卡中,选择 “正则表达式”(Regular expression)选项。
  4. 在 “查找内容”(Find what)框中输入 .*Initializing.*
  5. 确保 “在当前文件中”(In Current Document)选项被选中。
  6. 点击 “查找下一个”(Find Next)按钮,以确认选择正确的匹配项。
  7. 确认匹配项正确后,点击 “关闭”(Close)按钮关闭 “查找”(Find)对话框。
  8. 在菜单栏中选择 “编辑”(Edit)> “行操作”(Line Operations)> “删除行”(Remove Empty Lines)> “删除行”(Remove Empty Lines)。
  9. 所有包含 “Initializing” 的整行文本都将被删除。

删除只包含指定字符的整行

要删除仅包含指定字符(示例中为:”mks”)的行,您可以按照以下步骤在 Notepad++ 中使用正则表达式进行操作:

  1. 打开您的文本文件。
  2. 在菜单栏中选择 “查找”(Find)> “查找”(Find),或者使用快捷键 Ctrl + F。
  3. 在 “查找”(Find)选项卡中,选择 “正则表达式”(Regular expression)选项。
  4. 在 “查找内容”(Find what)框中输入 ^mks$
  5. 确保 “在当前文件中”(In Current Document)选项被选中。
  6. 点击 “查找下一个”(Find Next)按钮,以确认选择正确的匹配项。
  7. 确认匹配项正确后,点击 “关闭”(Close)按钮关闭 “查找”(Find)对话框。
  8. 在菜单栏中选择 “编辑”(Edit)> “行操作”(Line Operations)> “删除行”(Remove Empty Lines)> “删除行”(Remove Empty Lines)。
  9. 所有仅包含 “mks” 的行都将被删除。

请注意,这个操作将删除仅包含 “mks” 的行,不会删除包含其他内容的行。

更多示例

  • 删除只包含数字的行
    • 正则表达式:^\d+$
  • 删除只包含字母的行
    • 正则表达式:^[a-zA-Z]+$
  • 删除仅包含中文字符和标点符号的行
    • 正则表达式:^[^\x00-\x7F]+$
  • 删除仅包含双斜线(//)和空格的行
    • 正则表达式: ^\s*//\s*$
      • ^ 表示行的开头。
      • \s* 表示匹配零个或多个空格字符
      • // 表示匹配双斜线
      • \s* 表示匹配零个或多个空格字符
      • $ 表示行的结尾
  • 删除所有包含日期的行
    • 正则表达式:\b\d{1,2}/\d{1,2}/\d{2,4}\b
      • \b 表示单词边界,用于确保匹配的是完整的日期
      • \d{1,2} 表示匹配 1 到 2 位数字,用于匹配日期和月份
      • / 表示匹配斜杠分隔符
      • \d{2,4} 表示匹配 2 到 4 位数字,用于匹配年份
      • \b 表示单词边界
  • 删除包含中文字符和标点符号的行(只要包含中文字符或者标点符号,就会被删除,不管是否包含其他字符)
    • .*[\x{4e00}-\x{9fa5}\p{P}].*
  • 删除所有包含电话号码的行
    • 正则表达式:(\+\d{1,3}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}
      • 该正则表达式能够匹配常见的电话号码格式,包括带有国际区号的号码、带有括号的号码以及使用空格、短横线或点号分隔的号码。
      • 您可以根据实际情况调整正则表达式以匹配您的电话号码格式。
  • 删除包含”香蕉“的行,而不删除包含”香蕉“,且包含”苹果“的行
    • 正则表达式:^(?!.*香蕉.*苹果).*香蕉.*$
      • 该正则表达式使用否定顺序环视(negative lookahead)来排除同时包含 “香蕉” 和 “苹果” 的行。

替换

在所有行前面添加指定字符串

在Notepad++中使用正则表达式,在所有行前面添加指定字符串(示例:”xyx115″),可以按照以下步骤进行操作:

  1. 打开文本文件。
  2. 使用快捷键Ctrl + H或转到”编辑”菜单并选择”替换”。
  3. 在”查找”字段中输入^,表示匹配行的开头位置。
  4. 在”替换”字段中输入”xyx115″,即要添加的字符串。
  5. 确保将”搜索模式”设置为”正则表达式”。
  6. 单击”全部替换”或”替换”按钮。

这样,每一行的开头都会添加字符串”xyx115″。

在所有行结尾添加指定字符串

在Notepad++中使用正则表达式,在所有行的结尾添加字符串”xyx115″,可以按照以下步骤进行操作:

  1. 打开文本文件。
  2. 使用快捷键Ctrl + H或转到”编辑”菜单并选择”替换”。
  3. 在”查找”字段中输入$,表示匹配行的结尾位置。
  4. 在”替换”字段中输入”xyx115″,即要添加的字符串。
  5. 确保将”搜索模式”设置为”正则表达式”。
  6. 单击”全部替换”或”替换”按钮。

这样,每一行的结尾都会添加字符串”xyx115″。

替换所有日期为今天

要将文本中的所有日期替换为今天的日期,可以按照以下步骤在Notepad++中使用正则表达式进行操作:

  1. 打开文本文件。
  2. 使用快捷键Ctrl + H或转到”编辑”菜单并选择”替换”。
  3. 在”查找”字段中输入日期的正则表达式。例如,如果日期格式为YYYY-MM-DD,可以使用\d{4}-\d{2}-\d{2}表示。
  4. 在”替换”字段中输入今天的日期。您可以使用Notepad++的日期插件来插入当前日期,例如$CURRENT_DATE$。如果没有日期插件,您可以手动输入今天的日期。
  5. 确保将”搜索模式”设置为”正则表达式”。
  6. 单击”全部替换”或”替换”按钮。

这样,所有日期将被替换为今天的日期。请注意,这只是替换匹配的第一个日期,如果一行中有多个日期,请根据需要多次点击”全部替换”按钮。

发表评论