我正在尝试匹配多行字符串IP地址的子网部分。
代码如下:
a_sdp =“ v = 0
o =-20064 20065 IN IP4 172.26.201.100
s = SDP数据
c = IN IP4 172.26.201.100
t = 0 0
m =音频12662 RTP / AVP 0101
a = rtpmap:0 PCMU / 8000
a = rtpmap:101电话事件/ 8000
a = fmtp:101 0-15
a = ptime:20“;rgex =“ c = IN%sIP4%s(%d%d?%d?)%。(%d%d?%d?)%。(%d%d?%d?)%。 ;
a_subnet = string.match(a_sdp,rgex,1);
我正在尝试匹配c=IN IP4 172.26.201
并将捕获的172.26.201
存储在组1中。
我已经尝试了各种各样的方法,但是我什至无法匹配一个值,甚至比IP地址的一部分还要少得多。我总是得到a_subnet = null
。
答案 0 :(得分:1)
这是一个更简单的模式:
a_sdp = [[v=0
o=- 20064 20065 IN IP4 172.26.201.100
s=SDP data
c=IN IP4 172.26.201.100
t=0 0
m=audio 12662 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
]]
print(a_sdp:match("c=IN%s+IP4%s*(.-)\n"))