Notepad++ 正则使用记录

Views: 534

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

在 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)来排除同时包含 “香蕉” 和 “苹果” 的行。

删除HTML标签及其内部内容

  1. 打开Notepad++。
  2. 使用快捷键Ctrl + H 或者从菜单中选择”搜索” -> “替换”来打开替换对话框。
  3. 在”查找”框中输入以下正则表达式:<font class="jammer">.*?</font>
  4. 确保勾选”使用正则表达式”复选框。
  5. 将”替换为”框留空。
  6. 点击”替换”按钮来删除匹配到的内容,或者点击”全部替换”按钮来删除所有匹配内容。

这样,所有的<font class="jammer">...</font>标签及其内部内容都会被删除。

更多应用

  1. 匹配并替换日期格式:
    • 查找:(\d{4})-(\d{2})-(\d{2})
    • 替换为:\3/\2/\1
    这个正则表达式可以匹配形如”2024-02-19″的日期格式,并将其替换为”19/02/2024″。
  2. 匹配邮箱地址:
    • 查找:[\w.-]+@[a-zA-Z]+\.[a-zA-Z]+
    这个正则表达式可以匹配常见的邮箱地址格式,例如”example@email.com“。
  3. 提取HTML标签中的属性值:
    • 查找:<\w+\s*([^>]*)>
    这个正则表达式可以匹配HTML标签,并捕获其中的属性值。
  4. 匹配IP地址:
    • 查找:\b(?:\d{1,3}\.){3}\d{1,3}\b
    这个正则表达式可以匹配IPv4地址格式,例如”192.168.1.1″。
  5. 匹配并删除多余的空格:
    • 查找:\s+
    • 替换为:空格
    这个正则表达式可以匹配连续的空格,并将其替换为单个空格,从而去除多余的空格。
  1. 匹配并替换URL链接:
    • 查找:(?:https?|ftp):\/\/[\w/\-?=%.]+\.[\w/\-?=%.]+
    • 替换为:[链接]
    这个正则表达式可以匹配常见的URL链接,并将其替换为”[链接]”。
  2. 匹配HTML标签内的文本内容:
    • 查找:<[^>]*>(.*?)<\/[^>]*>
    • 替换为:\1
    这个正则表达式可以匹配HTML标签及其内部的文本内容,并保留文本内容。
  3. 匹配电话号码:
    • 查找:\b(?:\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\b
    这个正则表达式可以匹配常见的电话号码格式,例如”123-456-7890″或”(123) 456-7890″。
  4. 匹配并替换Markdown格式的链接:
    • 查找:\[(.*?)\]\((.*?)\)
    • 替换为:[\1](链接已隐藏)
    这个正则表达式可以匹配Markdown格式的链接,并将链接地址替换为”[链接已隐藏]”。
  5. 匹配并删除注释行:
    • 查找:\/\/.*$
    这个正则表达式可以匹配以”//”开头的注释行,并删除其内容。
  6. 匹配并替换URL链接:
    • 查找:(?:https?|ftp):\/\/[\w/\-?=%.]+\.[\w/\-?=%.]+
    • 替换为:[链接]
    这个正则表达式可以匹配常见的URL链接,并将其替换为”[链接]”。
  7. 匹配HTML标签内的文本内容:
    • 查找:<[^>]*>(.*?)<\/[^>]*>
    • 替换为:\1
    这个正则表达式可以匹配HTML标签及其内部的文本内容,并保留文本内容。
  8. 匹配电话号码:
    • 查找:\b(?:\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\b
    这个正则表达式可以匹配常见的电话号码格式,例如”123-456-7890″或”(123) 456-7890″。
  9. 匹配并替换Markdown格式的链接:
    • 查找:\[(.*?)\]\((.*?)\)
    • 替换为:[\1](链接已隐藏)
    这个正则表达式可以匹配Markdown格式的链接,并将链接地址替换为”[链接已隐藏]”。
  10. 匹配并删除注释行:
    • 查找:\/\/.*$
    这个正则表达式可以匹配以”//”开头的注释行,并删除其内容。
  11. 匹配邮箱地址(简单):
    • 示例文本:我的邮箱是example@email.com
    • 查找:\b[\w.-]+@[a-zA-Z]+\.[a-zA-Z]+\b这个正则表达式可以匹配邮箱地址。
    • 替换:[邮箱地址]将匹配到的邮箱地址替换为”[邮箱地址]”。
  12. 匹配IP地址(简单):
    • 示例文本:服务器的IP地址是192.168.1.1
    • 查找:\b(?:\d{1,3}\.){3}\d{1,3}\b这个正则表达式可以匹配IPv4地址。
    • 替换:[IP地址]将匹配到的IP地址替换为”[IP地址]”。
  13. 匹配HTML标签(简单):
    • 示例文本:<div class="content">这是一个段落</div>
    • 查找:<[^>]+>这个正则表达式可以匹配HTML标签。
    • 替换:空字符串将匹配到的HTML标签替换为空字符串,即删除标签。
  14. 匹配日期(简单):
    • 示例文本:今天的日期是2024-02-19
    • 查找:\b\d{4}-\d{2}-\d{2}\b这个正则表达式可以匹配日期格式。
    • 替换:[日期]将匹配到的日期替换为”[日期]”。
  15. 匹配并提取Markdown标题(简单):
    • 示例文本:# 这是一个标题
    • 查找:^#\s+(.*?)$这个正则表达式可以匹配Markdown标题,并提取标题内容。
    • 替换:空字符串将匹配到的Markdown标题替换为空字符串,即删除标题。
  16. 匹配HTML标签及其内容(复杂):
    • 示例文本:<p class="content">这是一个段落</p>
    • 查找:<(\w+)[^>]*>(.*?)<\/\1>这个正则表达式可以匹配HTML标签及其内容。
    • 替换:<\1>\2</\1>将匹配到的HTML标签及其内容保留,并将内容重新包裹在相同的标签中。
  17. 匹配手机号码(复杂):
    • 示例文本:我的手机号码是13812345678
    • 查找:\b(?:\+?86)?1[3-9]\d{9}\b这个正则表达式可以匹配中国大陆地区的手机号码。
    • 替换:[手机号码]将匹配到的手机号码替换为”[手机号码]”。
  18. 匹配IPv6地址(复杂):
    • 示例文本:IPv6地址是2001:0db8:85a3:0000:0000:8a2e:0370:7334
    • 查找:\b(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}\b这个正则表达式可以匹配IPv6地址格式。
    • 替换:[IPv6地址]将匹配到的IPv6地址替换为”[IPv6地址]”。
  19. 匹配并提取CSV文件中的数据(复杂):
    • 示例文本:"Alice","Smith","25"
    • 查找:"(.*?)(?:""|,|$)这个正则表达式可以匹配CSV文件中的一行数据,并将数据提取出来。
    • 替换:[数据]将匹配到的数据替换为”[数据]”。

替换

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

在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. 单击”全部替换”或”替换”按钮。

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

发表评论

Index