Regex 使用正则表达式擦除记事本++;

Regex 使用正则表达式擦除记事本++;,regex,notepad++,Regex,Notepad++,你好 如果以前有人问过我这个问题,我很抱歉,但是我花了一些时间搜索了以前的帖子,但是我找不到这个简单问题的答案,我似乎弄不明白 使用记事本++和带有replace函数的正则表达式,我试图转换如下示例字符串: 原文 州:明尼苏达州:数据 所需输出 州:明尼苏达州 我想我已经找到了答案,只需在查找中使用:.*,并将替换项留空,但无论出于何种原因,regex对我来说一直是一个难题 提前谢谢你 使用以下正则表达式: ^(.*?:.*?):.* 或者 并替换为$1 详细信息 ^-匹配行首 (.*?:.

你好

如果以前有人问过我这个问题,我很抱歉,但是我花了一些时间搜索了以前的帖子,但是我找不到这个简单问题的答案,我似乎弄不明白

使用记事本++和带有replace函数的正则表达式,我试图转换如下示例字符串:

原文

州:明尼苏达州:数据

所需输出

州:明尼苏达州

我想我已经找到了答案,只需在查找中使用:.*,并将替换项留空,但无论出于何种原因,regex对我来说一直是一个难题


提前谢谢你

使用以下正则表达式:

^(.*?:.*?):.*
或者

并替换为
$1

详细信息

  • ^
    -匹配行首
  • (.*?:.*)
    -捕获到组1中:除换行符以外的任何0个或多个字符尽可能少,然后是冒号,然后是除换行符以外的任何0个或多个字符尽可能少(
    [^:\ r\n]
    匹配除冒号、LF和CR字符以外的任何字符)
  • -冒号
  • *
    -行的其余部分
截图:
使用以下正则表达式:

^(.*?:.*?):.*
或者

并替换为
$1

详细信息

  • ^
    -匹配行首
  • (.*?:.*)
    -捕获到组1中:除换行符以外的任何0个或多个字符尽可能少,然后是冒号,然后是除换行符以外的任何0个或多个字符尽可能少(
    [^:\ r\n]
    匹配除冒号、LF和CR字符以外的任何字符)
  • -冒号
  • *
    -行的其余部分
截图:

是否
状态:明尼苏达州:数据
是整个字符串?还是有其他角色围绕着它?字符串是否有4个或更多冒号?如果有4个冒号,是否仍要删除第二个冒号后的字符?
:.*
将删除第一个冒号中的所有字符,包括冒号本身。
状态:明尼苏达州:数据
是整个字符串吗?还是有其他角色围绕着它?字符串是否有4个或更多冒号?如果有4个冒号,是否仍要删除第二个冒号后的字符?
:.*
将删除第一个冒号中的所有字符,包括冒号本身。