PHP-选择两个字符之间的字符串部分
我一直在做这方面的研究,我相信答案是关于正则表达式的,但我就是无法理解它们 我有许多字符串,需要在两个字符之间选择一个数字。下面是一个示例字符串PHP-选择两个字符之间的字符串部分,php,regex,string,Php,Regex,String,我一直在做这方面的研究,我相信答案是关于正则表达式的,但我就是无法理解它们 我有许多字符串,需要在两个字符之间选择一个数字。下面是一个示例字符串 &user18339=18339,20070103,175439,pmt,793,A/3/1/2,335,793,A/3/1/2, &user31097=31097,20070105,092612,pmt,4190,A/3/1/2,142,1162,A/3/1/1,22,2874,A/3/1/2,1046,4622,A/3/1/2,2
&user18339=18339,20070103,175439,pmt,793,A/3/1/2,335,793,A/3/1/2,
&user31097=31097,20070105,092612,pmt,4190,A/3/1/2,142,1162,A/3/1/1,22,2874,A/3/1/2,1046,4622,A/3/1/2,25,2872,A/3/1/2,
我需要发生在A/3/1/2之后和以下之前的数字
在这个例子中,我需要选择335。我可以使用explode实现这一点,但是当我需要从字符串中获取多个数字时,我会遇到问题,如下面的示例所示
下面是另一个字符串示例
&user18339=18339,20070103,175439,pmt,793,A/3/1/2,335,793,A/3/1/2,
&user31097=31097,20070105,092612,pmt,4190,A/3/1/2,142,1162,A/3/1/1,22,2874,A/3/1/2,1046,4622,A/3/1/2,25,2872,A/3/1/2,
同样,我需要在A/3/1/2之后,在下面的之前获得数字,。所以在这个例子中,我想取1421046和25
如果有人能让我知道如何做到这一点,将不胜感激
$string = '&user31097=31097,20070105,092612,pmt,4190,A/3/1/2,142,1162,A/3/1/1,22,2874,A/3/1/2,1046,4622,A/3/1/2,25,2872,A/3/1/2,';
preg_match_all('/A\/3\/1\/2,([0-9]*?),/', $string, $matches);
var_dump($matches);
您的示例中多次出现A/3/1/2,但没有指定如何处理它。pmt字符串后的A///序列后面总是整数吗?e、 g.可能出现1、2、n次?你能给这些值赋予一些语义吗?[^,]将匹配任何值,直到,witch也将匹配字符串,他询问如何检索数字而不是所有值。[^,]将匹配任何值,直到,witch也将匹配字符串,他询问如何检索数字而不是所有值。@JWH89,如果这个答案适合你,你应该勾选它作为答案。另外,请投票选出对你有帮助的答案。如果一个答案没有帮助,那么评论——比如为什么它对你不起作用——可以帮助每个人找出最好的答案。