Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 将正则表达式作为一个整体反转_Regex_Textpad - Fatal编程技术网

Regex 将正则表达式作为一个整体反转

Regex 将正则表达式作为一个整体反转,regex,textpad,Regex,Textpad,好的,我通读了一遍,到目前为止,它对我没有帮助 我在TextPad中有一个正则表达式(不确定它的引擎),如下所示: 查找字符串的,例如: 1783635 = 1780296 + 3339 我想找到其他的一切。我试着用[^expression]来封装整个表达式,就像TextPad手册所说的那样,但运气不好。我还尝试了[^][expression],^(expression),和[^](expression),但没有成功 从上面的线程中,我再次尝试了(?!expression),但没有成功 想法?

好的,我通读了一遍,到目前为止,它对我没有帮助

我在TextPad中有一个正则表达式(不确定它的引擎),如下所示:

查找字符串的,例如:

1783635 = 1780296 + 3339
我想找到其他的一切。我试着用
[^expression]
来封装整个表达式,就像TextPad手册所说的那样,但运气不好。我还尝试了
[^][expression]
^(expression)
,和
[^](expression)
,但没有成功

从上面的线程中,我再次尝试了
(?!expression)
,但没有成功


想法?

实际上不可能将“的反面”与正则表达式匹配。正则表达式必须匹配才能成功,它们不能不匹配而仍然成功

根据您的具体情况(以及TextPad的正则表达式功能),可能有一种方法可以绕过此限制


不过,有必要更详细地说明这一点。请提供一个真实的文本示例,并描述您想用它做什么。

将“的反面”与regex匹配实际上是不可能的。正则表达式必须匹配才能成功,它们不能不匹配而仍然成功

根据您的具体情况(以及TextPad的正则表达式功能),可能有一种方法可以绕过此限制


不过,有必要更详细地说明这一点。请提供一个真实的文本示例,并描述您想用它做什么。

我发现最好的方法不仅仅是使用正则表达式,而是使用TextPad(书签)的附加功能

在这种情况下,我需要确定所有不是以PHV开头的行。因此,我做了以下工作:

  • 使用正则表达式“^PHVS”执行“全部匹配”搜索。这标记了以PHV开头的每一行

  • 转到编辑->反转书签。这标记了不是以PHV开头的每一行

  • 创建了一个宏,按F2键(转到下一个书签)并按我需要的方式修复该行

  • 将宏运行到文件末尾


  • 我发现最好的方法不仅仅是使用正则表达式,而是使用TextPad(书签)的附加功能

    在这种情况下,我需要确定所有不是以PHV开头的行。因此,我做了以下工作:

  • 使用正则表达式“^PHVS”执行“全部匹配”搜索。这标记了以PHV开头的每一行

  • 转到编辑->反转书签。这标记了不是以PHV开头的每一行

  • 创建了一个宏,按F2键(转到下一个书签)并按我需要的方式修复该行

  • 将宏运行到文件末尾


  • 以上包括一个真实的例子。本质上,该字符串(
    num=num+num
    )位于一个较大的字符串中,我希望删除该字符串的其余部分,并仅提取上面的部分。这种情况下的标准做法是匹配整个字符串,并用表达式中定义的匹配组的内容替换它。在你的案例中,它到底应该是什么样子取决于更多的细节。好的,你能举例说明你的意思吗?完整字符串如下所示:
    1 | dkjasad_fcase1_20110801_001.log | JWE_eggnog_fcase1_20110801_001.log | S | 0.08%| 273907=273678+229
    @praguian:您希望将文件中的一行替换为
    273907=273678+229
    ?是的,只有一行。我做了一个短期的解决方案,编译正则表达式以找到行的“其他”部分并将其删除,但在将来,“其他”部分可能不会像今天这样遵循模式。这就是为什么我对反转匹配的方法感到好奇的原因。上面包括一个真实的示例。本质上,该字符串(
    num=num+num
    )位于一个较大的字符串中,我希望删除该字符串的其余部分,并仅提取上面的部分。这种情况下的标准做法是匹配整个字符串,并用表达式中定义的匹配组的内容替换它。在你的案例中,它到底应该是什么样子取决于更多的细节。好的,你能举例说明你的意思吗?完整字符串如下所示:
    1 | dkjasad_fcase1_20110801_001.log | JWE_eggnog_fcase1_20110801_001.log | S | 0.08%| 273907=273678+229
    @praguian:您希望将文件中的一行替换为
    273907=273678+229
    ?是的,只有一行。我做了一个短期的解决方案,编译正则表达式以找到行的“其他”部分并将其删除,但在将来,“其他”部分可能不会像今天这样遵循模式。这就是为什么我对一种反转匹配的方法感到好奇。
    1783635 = 1780296 + 3339