Regex 在SublimiteText中追加正则表达式

Regex 在SublimiteText中追加正则表达式,regex,sublimetext2,Regex,Sublimetext2,我对正则表达式非常陌生。我正在处理sublime文本,并尝试替换某些数字的所有实例,格式如下: 00:00:59 00:01:00 00:01:22 等等 在末尾追加:00,它将变为00:00:59:00 我使用了[0-9]{2}:[0-9]{2}:[0-9]{2},它会查找所有实例,但我不知道如何追加:00并替换所有实例。您可以使用 \b[0-9]{2}:[0-9]{2}:[0-9]{2}\b 作为正则表达式,替换为$0:00。这里,$0是对整个匹配的反向引用 五 \b代表单词边界。如果您

我对正则表达式非常陌生。我正在处理sublime文本,并尝试替换某些数字的所有实例,格式如下:

00:00:59
00:01:00
00:01:22
等等

在末尾追加:00,它将变为00:00:59:00

我使用了[0-9]{2}:[0-9]{2}:[0-9]{2},它会查找所有实例,但我不知道如何追加:00并替换所有实例。

您可以使用

\b[0-9]{2}:[0-9]{2}:[0-9]{2}\b
作为正则表达式,替换为$0:00。这里,$0是对整个匹配的反向引用

\b代表单词边界。如果您需要避免匹配已经存在的时间戳:00之后,可以考虑使用

(?<!\d:)\b\d{2}:\d{2}:\d{2}\b(?!:\d)
那个?如果开始处的2位数子字符串前面有一个数字+:,且后面的数字为?!,则反向查找将使匹配失败:\d如果最后2位后面跟有:+digit,则反向前瞻将使匹配失败。

您可以使用

\b[0-9]{2}:[0-9]{2}:[0-9]{2}\b
作为正则表达式,替换为$0:00。这里,$0是对整个匹配的反向引用

\b代表单词边界。如果您需要避免匹配已经存在的时间戳:00之后,可以考虑使用

(?<!\d:)\b\d{2}:\d{2}:\d{2}\b(?!:\d)

那个?如果开始处的2位数子字符串前面有一个数字+:,且后面的数字为?!,则反向查找将使匹配失败:\d如果最后2位后面跟有:+digit,则反向前瞻将使匹配失败。

正则表达式可以查找所有出现的这些数字。单击“查找”菜单,然后单击“查找”。在搜索框中输入正则表达式。然后单击sublime文本窗口右下角的Find All按钮


现在您有了多个游标,每次出现一个游标。按一次向右箭头键,使每个光标都位于其出现的末尾。然后键入:00(不带引号),然后按ESC键删除所有多个光标。这应该有用。

正则表达式可以找到这些数字的所有出现。单击“查找”菜单,然后单击“查找”。在搜索框中输入正则表达式。然后单击sublime文本窗口右下角的Find All按钮


现在您有了多个游标,每次出现一个游标。按一次向右箭头键,使每个光标都位于其出现的末尾。然后键入:00(不带引号),然后按ESC键删除所有多个光标。这应该行。

您可以使用Sublime Text Ctrl+Maj+F的搜索和替换工具,并激活正则表达式选项。*图标

在Find中键入[0-9]{2}:[0-9]{2}:[0-9]{2}

在Replace中键入[0-9]{2}:[0-9]{2}:[0-9]{2}:00

单击“替换”


您可以使用升华文本Ctrl+Maj+F的搜索和替换工具,并激活正则表达式选项。*图标

在Find中键入[0-9]{2}:[0-9]{2}:[0-9]{2}

在Replace中键入[0-9]{2}:[0-9]{2}:[0-9]{2}:00

单击“替换”


或者您使用Wiktor Stribiżews回答,直接替换并使用反向引用正则表达式:-如果时间字符串在较长的文本中,此解决方案将没有帮助。您救了我!谢谢或者您使用Wiktor Stribiżews回答,直接替换并使用反向引用正则表达式:-如果时间字符串在较长的文本中,此解决方案将没有帮助。您救了我!谢谢请注意,升华文本中的\d可能匹配所有Unicode数字,如۰߀०০੦૦୦௦౦೦൦๐໐0, 因此,如果只匹配ASCII数字,则使用[0-9]可能是更安全的选择。您的答案总是正确的,并且提供了比要求的更好的解决方案。干得好,Regex Master先生-请注意,升华文本中的\d可能匹配所有Unicode数字,如۰߀०০੦૦୦௦౦೦൦๐໐0, 因此,如果只匹配ASCII数字,则使用[0-9]可能是更安全的选择。您的答案总是正确的,并且提供了比要求的更好的解决方案。干得好,Regex Master先生-