C# 正则表达式|忽略字符串中包含某些单词的第二个单词 /((?:(?:is | will)(?!is))[^
您的表达式看起来很好,但您需要这样做,以便它从文本的开头开始匹配。您可以在正则表达式的开头使用C# 正则表达式|忽略字符串中包含某些单词的第二个单词 /((?:(?:is | will)(?!is))[^,c#,regex,C#,Regex,您的表达式看起来很好,但您需要这样做,以便它从文本的开头开始匹配。您可以在正则表达式的开头使用^ /((?:(?:is|will) (?!is))[^<?]+)/i /^((?:(?:is | will)(?!is))[^欢迎使用堆栈溢出。如果您可以列出您的测试用例以及每个测试用例的预期结果,人们回答您的问题会更容易。我知道您在问题中描述了逻辑,但我们中的一些人更容易看到示例和预期结果。可能只是@(?I)\b(?:is | will)\b(?\s+is\b)[^>?]*“?如果锚之前有一
^
/((?:(?:is|will) (?!is))[^<?]+)/i
/^((?:(?:is | will)(?!is))[^欢迎使用堆栈溢出。如果您可以列出您的测试用例以及每个测试用例的预期结果,人们回答您的问题会更容易。我知道您在问题中描述了逻辑,但我们中的一些人更容易看到示例和预期结果。可能只是@(?I)\b(?:is | will)\b(?\s+is\b)[^>?]*“
?如果锚之前有一些文本怎么办?我正在discord bot上使用它,因此可能是“@user,will…”前面的标记我想让它返回整个句子,但如果“will”后面的单词是“if'@JoacimK.Solbakken”,则忽略它。你在问题标题中提到的要求提到了第二个单词。正则表达式很适合与积极的期望相匹配。对于消极的期望,你必须更具体。你的要求并不完全相同在这一点上对我来说是ar,但可能不可能只通过regex做你想做的事情。
/^((?:(?:is|will) (?!is))[^<?]+)/i