我想让正则表达式检测这种格式image(numeric, string)
。例如:image(100, 'test')
。
我试过这个,但只检测image(numeric)
/image\((\d+)\)/
有关第二个参数和,
的任何帮助吗?
另外我如何获得第二个参数?
答案 0 :(得分:1)
您可以尝试以下模式:
/image\(\d+,\s*'.+?'\)/
我删除了捕获组,因为如果仅使用正则表达式进行验证则不需要它。
如果要捕获数字和文本,请使用捕获组:
$input = "code image(123, 'meh') more code";
if (preg_match("/image\((\d+),\s*'(.+?)'\)/", $input, $m)) {
echo "match";
}
$number = $m[1];
$text = $m[2];
答案 1 :(得分:1)
试试这个:
image\((\d+), '(.+?)'\)
.
匹配任何东西,其余的几乎是不言自明的。第1组是您的号码,第2组是字符串。
答案 2 :(得分:0)
你可以尝试这个:
image\(\s*\d+\s*\,\s*'.*'\s*\)