Совпадение IP-адреса в многострочной строке в Lua - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь сопоставить часть подсети IP-адреса, которая является многострочной строкой.

Вот код:

a_sdp = "v = 0
o = - 20064 20065 В IP4 172.26.201.100
s = данные SDP
c = IN IP4 172.26.201.100
t = 0 0
m = аудио 12662 RTP / AVP 0 101
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.

1 Ответ

0 голосов
/ 05 сентября 2018

Вот более простой шаблон:

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"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...