$str = '"javascript:OpenWindow("order.aspx?order_id=161FA084AEF13FD7")"';
preg_match('/order\.aspx\?order_id=(.*\"\))/', $str, $a);
print_r($a);
输出期望:
161FA084AEF13FD7
但得到
161FA084AEF13FD7")
请提高这个..
$str = '"javascript:OpenWindow("order.aspx?order_id=161FA084AEF13FD7")"';
preg_match('/order\.aspx\?order_id=(.*\"\))/', $str, $a);
print_r($a);
输出期望:
161FA084AEF13FD7
但得到
161FA084AEF13FD7")
请提高这个..
作为另一种解决方案,您只需确实将关闭捕捉括号移过来,以便它不包括引号和右括号字符。
如,使用:
/order\.aspx\?order_id=(.*)\"\)/
^
|
move this over here
'/order\.aspx\?order_id =([[:xdigit:]] +)/ i' – 2015-02-24 16:16:30
在它的最简单的只是移动至第二个')'四个字符左边不包括'')''在捕获组中,但它可以被改进。 – AbraCadaver 2015-02-24 16:17:35