我有一个简单的正则表达式,但它比我想要的更匹配...
基本上,我尝试匹配某些运算符(例如>
<
!=
=
)后跟一个字符串。
正则表达式:
/^(<=|>=|<>|!=|=|<|>)(.*)/
示例主题:
>42
我得到了什么:
array (size=3)
0 => string '>42' (length=3)
1 => string '>' (length=1)
2 => string '42' (length=2)
我想要得到的东西:
array (size=2)
0 => string '>' (length=1)
1 => string '42' (length=2)
我不明白的是,我的正则表达式在Regex101上完美运作
编辑:为了澄清,我该如何摆脱完整的字符串匹配?
答案 0 :(得分:2)
您的回答是正确的。Group(0)
是whole match
。Group(1)
如果是第一组,group(2)
是第二组。
答案 1 :(得分:1)
您将获得所有3个组\0
,\1
和'\ 2'。 see the group matching at the bottom of the page
如果您的匹配位于$matches
,则可以运行array_shift($matches)
以删除“\ 0”匹配。