关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。
三天前关门了。
改进这个问题
我有一根绳子 m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 102 0 8 106 105 13 11
在sdp中用作媒体线。 m=audio
或者 m=video
只有两种可能的选择,而9和协议的数量以及存在的协议可以更改。
例如,它可能是 m=video 9 UDP/SAVPF 0 100 102 106
或者 m=audio 5004 RTP/AVP 0
. 如何根据有效负载得到一个正则表达式来匹配一个或多个数字的部分?我需要使用这个正则表达式提取整数数组。
String str = "m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 127";
Pattern pattern = Pattern.compile(str);
Matcher matcher = pattern.matcher("PATTERN");
以及 matcher.end
所以我可以得到数数组之前的空间索引,并且可以用 String.split(" ")
这样我就可以拥有 [96, 97, 98, 99, 100, 101, 127]
2条答案
按热度按时间hmtdttj41#
(他删除了他的老问题:
我有一个sdp,可能包含媒体行,如
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 127
在用java编写的android应用程序中。使用sdp.split(“m=”)我可以拆分成一个字符串数组,其中包含以v=0开始的字符串,以及以视频和/或音频线开始的字符串,例如m=video 9 udp/tls/rtp/savpf 96 97 98 99 100 101 127,这是一个一般性问题,协议和有效负载计数或包含哪些有效负载都不是预定义的。
如何获取包含视频或音频线路中的编解码器有效负载的整数数组?我想找出一个正则表达式的解决方案。如何用正则表达式实现,或者javawebrtc方法中是否有任何方法将这些有效负载作为一个数组来获取?
)
我的回答是:
dly7yett2#
这对你有用吗?
把它用在https://regex101.com/ 用你的例子。
组1将是数字之前的字符串。第三组是带数字的字符串。
然后您可以将组3拆分为一个数组。
完整代码: