Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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
Regex 如何将{1,0}与正则表达式匹配_Regex - Fatal编程技术网

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