Regex 如果表达式不';不匹配
看似简单的任务。如果没有找到匹配项,我需要显示一行。或者,换一种方式说,如果找到匹配项,我不需要显示一行。我怀疑这涉及某种前瞻性断言,但不知道如何实现Regex 如果表达式不';不匹配,regex,Regex,看似简单的任务。如果没有找到匹配项,我需要显示一行。或者,换一种方式说,如果找到匹配项,我不需要显示一行。我怀疑这涉及某种前瞻性断言,但不知道如何实现 我试着找到一个匹配,然后用^否定它。但这似乎不起作用。还尝试查找一个匹配项并将{0}放在它旁边:(wordhere){0}您确实可以使用负前瞻。例如 ^(?!something$).*$ 将匹配除“某物”之外的任何内容 请注意,如果进行正匹配并使用控制结构(如if not…)来定义打印的行和未打印的行,则阅读可能更合适、更好。如果可以使用gre
我试着找到一个匹配,然后用^否定它。但这似乎不起作用。还尝试查找一个匹配项并将{0}放在它旁边:(wordhere){0}您确实可以使用负前瞻。例如
^(?!something$).*$
将匹配除“某物”之外的任何内容
请注意,如果进行正匹配并使用控制结构(如if not…
)来定义打印的行和未打印的行,则阅读可能更合适、更好。如果可以使用grep
grep -v <expr>
grep-v
做您想要的。如果找到匹配项,则不显示行您使用的是什么语言?难道你不能只使用你的语言逻辑求反操作符(可能是
!
)来反转匹配的结果,然后输出你的行吗?正则表达式并不擅长只显示不匹配的行。事实上,我甚至不确定是否有一个好方法来找出你的电话号码。您可能需要将文件拆分为一个数组,\r\n然后在每一行上运行正则表达式,如果匹配,则跳过它。如果不匹配,请将行号添加到另一个数组中。然后您将有两个数组,一个包含数据,另一个包含不匹配的行号。