c#RegEx,如何过滤RegEx的结果集
我有一个字符串“banaanapplebananappleapplebanapplebanaapplebananaapple”, 1.如果我想提取“苹果”,下面的结果集很适用。 正则表达式:苹果 结果:“banaanapplebananapplebanapplebanapplebanapplebanaapplebanaapple”c#RegEx,如何过滤RegEx的结果集,c#,regex,C#,Regex,我有一个字符串“banaanapplebananappleapplebanapplebanaapplebananaapple”, 1.如果我想提取“苹果”,下面的结果集很适用。 正则表达式:苹果 结果:“banaanapplebananapplebanapplebanapplebanapplebanaapplebanaapple” 如果我想提取“banaana”,下面的查询工作得很好。 正则表达式:banaana 结果: “Banaanapplebanaapplebanaapplebanaap
实际上,您需要一个具有捕获组的替换操作符
banaana|(apple)
想法是,首先,banaana
将贪婪地匹配所有banaana字符串。
或(苹果)
仅从剩余字符捕获apple
字符串。因此,这不会与banaana字符串重叠
您的结果只包含两个匹配的apple…因此我不认为有问题?我不希望在我的结果集中列出任何“banaana”…啊,我知道了,也许只是为了澄清而添加它。我只希望列出“apple”和“banaana”“要过滤掉..但您在第一个示例中做到了吗?我实际上有一个数据流,其中也存在许多重叠。。我只需要一个与模式匹配的正则表达式,但是输出应该只包含1种..我想你不需要重叠匹配。。使用上述正则表达式有什么问题?只考虑捕获组内部的字符。您还可以获得组(1)计数。。有些语言支持
\K
你是对的,我不希望重叠匹配。。从结果集中,我希望排除所有banaana