Regex 如何将{1,0}与正则表达式匹配
Regex 如何将{1,0}与正则表达式匹配,regex,Regex,?或{0,1} 必要时将匹配一些模式,但现在我想反向执行 如有必要,可以说,不匹配 解决方案是什么?那么,您需要“两个或更多”?然后试试这个:{2,}只要在{0,1}后面打个问号,就像在{0,1}?中一样,它会喜欢匹配零而不是一次。问号使它“不贪婪”,这意味着它不会吞下尽可能多的食物 测试(在Perl中): 印刷品 a A. 你也可以用??代替{0,1}?我觉得你在寻找一个否定的断言。其语法通常是(?!…) 例如,A(?!B)C将先匹配A,然后匹配C,但如果C的开头匹配B,则不会匹配 ?或{0,
?
或{0,1}
必要时将匹配一些模式,但现在我想反向执行
如有必要,可以说,不匹配
解决方案是什么?那么,您需要“两个或更多”?然后试试这个:
{2,}
只要在{0,1}
后面打个问号,就像在{0,1}?
中一样,它会喜欢匹配零而不是一次。问号使它“不贪婪”,这意味着它不会吞下尽可能多的食物
测试(在Perl中):
印刷品
a
A.
你也可以用
??
代替{0,1}?
我觉得你在寻找一个否定的断言。其语法通常是(?!…)
例如,A(?!B)C
将先匹配A,然后匹配C,但如果C的开头匹配B,则不会匹配
?
或{0,1}
将在必要时匹配某些模式,但现在我想反向执行
不,如果可能,?
或{0,1}
将匹配某些模式。默认情况下,Regex是贪婪的
为了在必要时使它们匹配,它们需要看起来像?
或{0,1}?
看来你已经得到你想要的了
如有必要,可以说,不匹配
在正则表达式中,说“不匹配”通常介于困难和不可能之间。除非你能给出你需要做的事情的真实例子,否则这很难回答。但我想要的是让它变得贪婪,如果可能的话,匹配。我希望它更喜欢匹配一次而不是零次。这就是默认情况下
?
和{0,1}
所做的。除非另有说明,否则正则表达式是贪婪的?
和{0,1}
如果可能的话是匹配的,如果必要的话是不匹配的(如您所述)。我已经回答了下面的问题,但似乎每个人都误解了您想要的。也许你可以举个例子,说明你希望它如何匹配。@Mask:你真的需要重新陈述这个问题。这是非常含糊和难以回答的。尝试添加一个您想要做的示例。
a