Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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
.net 用正则表达式查找子字符串_.net_Regex - Fatal编程技术网

.net 用正则表达式查找子字符串

.net 用正则表达式查找子字符串,.net,regex,.net,Regex,我试图将子字符串我的链接与负前瞻匹配,如下所示 \b(?!My Links)\b 我也试过这个 .*\b(?!My Links)\b 但即使我输入链接,它也会匹配所有内容。我想拒绝任何包含此子字符串的行。此外,我还需要参考详细讨论外观的资料。正如我尝试过的,但是只有正则表达式的配方,没有解释它是如何工作的。检查 链接,但它非常简单,不讨论复杂的东西 编辑 子字符串必须出现在单词边界上 .*\b(?!My Links)\b 在这个正则表达式中,您查找的是任何文本*

我试图将子字符串
我的链接
与负前瞻匹配,如下所示

      \b(?!My Links)\b
我也试过这个

        .*\b(?!My Links)\b
但即使我输入链接,它也会匹配所有内容。我想拒绝任何包含此子字符串的行。此外,我还需要参考详细讨论外观的资料。正如我尝试过的,但是只有正则表达式的配方,没有解释它是如何工作的。检查 链接,但它非常简单,不讨论复杂的东西

编辑 子字符串必须出现在单词边界上

.*\b(?!My Links)\b
在这个正则表达式中,您查找的是任何文本
*
,后跟一个单词边界,后面不跟
我的链接
。这在一行的最后一个单词边界上始终是正确的,因此将匹配任何内容

^((?!\bMy Links\b).)+$
这一个应该做您想要做的,基本上它是查看整个字符串,如
^
$
锚指定的。它在该字符串中查找一个或多个未启动该字符串的字符出现的情况。束缚者这个词也在那里

我的链接
以下是我的一些测试链接
但这不应与ehmMy链接匹配
不是这一个我的Linkseither

前两行在此不匹配,而后两行将匹配

在这个正则表达式中,您查找的是任何文本
*
,后跟一个单词边界,后面不跟
我的链接
。这在一行的最后一个单词边界上始终是正确的,因此将匹配任何内容

^((?!\bMy Links\b).)+$
这一个应该做您想要做的,基本上它是查看整个字符串,如
^
$
锚指定的。它在该字符串中查找一个或多个未启动该字符串的字符出现的情况。束缚者这个词也在那里

我的链接
以下是我的一些测试链接
但这不应与ehmMy链接匹配
不是这一个我的Linkseither

前两行在此不匹配,而后两行将匹配。

您可以使用此正则表达式

^(?!.*\bMy Links\b).*$
这将匹配其中没有
My链接的行


您可以参考有关lookarounds的更深入信息

您可以使用此正则表达式

^(?!.*\bMy Links\b).*$
这将匹配其中没有
My链接的行



您可以参考有关lookarounds的更深入信息

的可能副本,从中可以看出,您对lookarounds断言的工作原理有非常初步的了解。您应该阅读可以在您发布的链接下找到的教程,特别是关于lookaround断言的部分。他们确实“讨论复杂的东西”,但你首先需要理解简单的东西。从中可以看出,你对环视断言的工作原理有一个非常初步的了解。您应该阅读可以在您发布的链接下找到的教程,特别是关于lookaround断言的部分。他们确实“讨论复杂的东西”,但你首先需要理解简单的东西。是的,我同意你的答案稍微有效一些。我们的答案都是一样的,但是@Anirudh的答案稍微有效一些,而且可能更容易阅读。不过,我不太喜欢lookaheads中的量词。无论如何,效率上的差异可以忽略不计,因为正则表达式引擎必须对两个正则表达式执行相同的操作。我会说让Anirudh的答案成为被接受的答案。是的,我同意你的答案稍微有效率。我们的答案都是一样的,但是@Anirudh的答案稍微有效率,而且可能更容易阅读。不过,我不太喜欢lookaheads中的量词。无论如何,效率上的差异可以忽略不计,因为正则表达式引擎必须对两个正则表达式执行相同的操作。我会说让Anirudh的答案成为被接受的答案。谢谢亲爱的。。你提供的链接也是我提到过的。。但这并没有让我头脑清醒。。事实上,regex让我感到困惑,我猜这种模式永远不会起作用。。我不知道如何制定正则表达式。@SpiralsWhirls你可以参考基本正则表达式教程和更多。@SpiralsWhirls我推荐你
c#简而言之
这本书对
regex
有一个非常简单和透彻的解释!我读过“正则表达式食谱,第二版”,试图记住所有的模式,但没有帮助:(好的,我会找到这本书。简言之,我学习正则表达式的最佳技巧就是尝试将它用于一切,即使它不是最好的解决方案。如果它不是最好的解决方案,通常会促使你学习新的东西,并真正掌握你一直在纠结的概念。祝你好运!谢谢亲爱的..你提供的链接就是我想要的我也提到过。但这并没有让我头脑清醒。事实上,正则表达式让我感到困惑,我想这种模式永远不会起作用。我不知道如何制定正则表达式。@SpiralsWhirls你可以参考基本正则表达式教程和更多。@SpiralsWhirls我向你推荐
c;35;简而言之
这本书有一个非常简单的主题通过解释
regex
!我已经阅读了“正则表达式食谱,第二版”,并试图记住所有的模式,但没有帮助:(好的,我会找到这本书。简言之,我学习正则表达式的最佳技巧就是尝试将它用于一切,即使它不是最好的解决方案。如果它不是最好的解决方案,通常会促使你学习新的东西,并真正掌握你一直在纠结的概念。祝你好运!