C# 从输入字符串中查找独立百分比(%)
我试图在一行中找到所有独立的“%” 例如: “某些文本%%%”//1匹配 “更多文本%%%”//2个匹配项 “更多关于%%%的文本”//2个匹配项 “更多关于%%%的文本”//1匹配 在阅读了大量关于正则表达式的内容并尝试之后,我设法得到了与我需要的相反的结果-> 即使是C# 从输入字符串中查找独立百分比(%),c#,regex,C#,Regex,我试图在一行中找到所有独立的“%” 例如: “某些文本%%%”//1匹配 “更多文本%%%”//2个匹配项 “更多关于%%%的文本”//2个匹配项 “更多关于%%%的文本”//1匹配 在阅读了大量关于正则表达式的内容并尝试之后,我设法得到了与我需要的相反的结果-> 即使是%{1}也没有奏效。它只找到所有的百分比 我如何通过regex实现我想要的目标?谢谢。将我的评论转换为答案,以便将来的访问者能够轻松找到解决方案 要匹配独立的%,您可以使用负向后看条件和负向前看条件: (?<!%)%(?!
%{1}
也没有奏效。它只找到所有的百分比
我如何通过regex实现我想要的目标?谢谢。将我的评论转换为答案,以便将来的访问者能够轻松找到解决方案 要匹配独立的
%
,您可以使用负向后看条件和负向前看条件:
(?<!%)%(?!%)
(?
说明:
(?:用于断言前一位置没有%
的反向查找条件
%
:匹配%
(?!%)
:断言下一个位置没有%
的负先行条件
使用(?只匹配独立的%
:将其添加为答案,并对每个字符进行详细解释,以便我和所有其他需要帮助的人都能理解,我会接受。谢谢:)是的。我错过了起始括号。谢谢兄弟。如果百分号不能被其他字符包围,请使用(?如果单词之间有%symbol,它也将计算该百分比。如Wel%Come根据OP的要求,它必须匹配任何两边没有被%
包围的%
。