Regex 组合不同的表达
我对正则表达式还是新手,希望将不同的表达式组合在一起。现在所有这些表达式单独使用时都可以工作,但我似乎无法将它们组合成一个工作字符串 我只想匹配开头有1%且后面没有空格的字符串 范例Regex 组合不同的表达,regex,Regex,我对正则表达式还是新手,希望将不同的表达式组合在一起。现在所有这些表达式单独使用时都可以工作,但我似乎无法将它们组合成一个工作字符串 我只想匹配开头有1%且后面没有空格的字符串 范例 %string => Match % string => No Match %%string => No Match 现在我有这些表达: (^[^%]*%[^%]*$) - Matches only one % but with whitespace (%\S+)([^\n]+) - Mat
%string => Match
% string => No Match
%%string => No Match
现在我有这些表达:
(^[^%]*%[^%]*$) - Matches only one % but with whitespace
(%\S+)([^\n]+) - Matches strings with the % and no whitespace behind but also matches the %% string that shouldn't be matched
我试着把它们和一个接一个的复制结合起来
(^[^%]*%[^%]*$)(\S+)([^\n]+)
但那是行不通的。我知道在组合它们时我做错了什么,我只是不知道是什么。您可以使用
^%[^\s%]*$
看
详细信息:
-字符串锚的开始^
-百分比符号%
-与零个或多个字符(除空格和[^\s%]*
%
-字符串结束锚定$
^%[^\s%][^%]*$
。如果您还需要匹配一个仅由%
组成的字符串,那么您需要一个向前看-^%(?!\s)[^%]*$
确切地说!这很有效。再次感谢你!我会看一看角色课,这样我就可以自己学习了。