我正在使用PHP Regex查看模式是否在我的字符串中。简单地说,我想要两个单词中的一个后跟一个数字。所以,这是我的模式:
#(guitare|piano)[0-9]#
基本上,如果字符串包含单词" guitare",我不希望它匹配,只有我有" guitare9"或" piano0"
此时,如果我将此模式用于以下字符串:
J'aime la guitare9
preg_match()的数组返回guitare和guitare9:http://www.phpliveregex.com/p/7tZ
我必须在正则表达式中更改为仅匹配guitare9?
答案 0 :(得分:1)
将正则表达式中的捕获组转为非捕获组。因为preg_match
将显示匹配以及数组中捕获的字符串。通过将捕获组转换为非捕获组,您必须获得单个数组元素。
#(?:guitare|piano)[0-9]#