PHP Regex没有按照我的意愿做出反应

时间:2014-10-16 16:00:46

标签: php regex

我正在使用PHP Regex查看模式是否在我的字符串中。简单地说,我想要两个单词中的一个后跟一个数字。所以,这是我的模式:

#(guitare|piano)[0-9]#

基本上,如果字符串包含单词" guitare",我不希望它匹配,只有我有" guitare9"或" piano0"

此时,如果我将此模式用于以下字符串:

J'aime la guitare9

preg_match()的数组返回guitare和guitare9:http://www.phpliveregex.com/p/7tZ

我必须在正则表达式中更改为仅匹配guitare9?

1 个答案:

答案 0 :(得分:1)

将正则表达式中的捕获组转为非捕获组。因为preg_match将显示匹配以及数组中捕获的字符串。通过将捕获组转换为非捕获组,您必须获得单个数组元素。

#(?:guitare|piano)[0-9]#

DEMO