Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.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
C# 从输入字符串中查找独立百分比(%)_C#_Regex - Fatal编程技术网

C# 从输入字符串中查找独立百分比(%)

C# 从输入字符串中查找独立百分比(%),c#,regex,C#,Regex,我试图在一行中找到所有独立的“%” 例如: “某些文本%%%”//1匹配 “更多文本%%%”//2个匹配项 “更多关于%%%的文本”//2个匹配项 “更多关于%%%的文本”//1匹配 在阅读了大量关于正则表达式的内容并尝试之后,我设法得到了与我需要的相反的结果-> 即使是%{1}也没有奏效。它只找到所有的百分比 我如何通过regex实现我想要的目标?谢谢。将我的评论转换为答案,以便将来的访问者能够轻松找到解决方案 要匹配独立的%,您可以使用负向后看条件和负向前看条件: (?<!%)%(?!

我试图在一行中找到所有独立的“%”

例如:

“某些文本%%%”//1匹配

“更多文本%%%”//2个匹配项

“更多关于%%%的文本”//2个匹配项

“更多关于%%%的文本”//1匹配

在阅读了大量关于正则表达式的内容并尝试之后,我设法得到了与我需要的相反的结果->

即使是
%{1}
也没有奏效。它只找到所有的百分比


我如何通过regex实现我想要的目标?谢谢。

将我的评论转换为答案,以便将来的访问者能够轻松找到解决方案

要匹配独立的
%
,您可以使用负向后看条件和负向前看条件:

(?<!%)%(?!%)
(?

说明:

  • (?:用于断言前一位置没有
    %
    的反向查找条件
  • %
    :匹配
    %
  • (?!%)
    :断言下一个位置没有
    %
    的负先行条件

使用
(?只匹配独立的
%
:将其添加为答案,并对每个字符进行详细解释,以便我和所有其他需要帮助的人都能理解,我会接受。谢谢:)是的。我错过了起始括号。谢谢兄弟。如果百分号不能被其他字符包围,请使用
(?如果单词之间有%symbol,它也将计算该百分比。如Wel%Come根据OP的要求,它必须匹配任何两边没有被
%
包围的
%