Как получить подстроки в строке через запятую? - PullRequest
0 голосов
/ 22 мая 2019

Я пытаюсь создать шаблон регулярного выражения, чтобы получить подстроку в строке через запятую.Я знаю только число запятых до этой подстроки.

Это журнал:

str1,2019/05/22 
15:29:09,012001028720,THREAT,vulnerability,1,2019/05/22 
15:29:09,IP1,IP2,0.0.0.0,0.0.0.0,some info here,,,ftp,

И это регулярное выражение, которое я пробовал:

.*vulnerability[,]{1}(.*)

Вот результат с моим регулярным выражением:

1,2019/05/22 15:29:09,IP1,IP2,0.0.0.0,0.0.0.0,some info here,,,ftp,

Очевидно, регулярное выражение совершенно неверно, так как я не знаю, как перебирать запятые.Как я могу прыгнуть 11 запятых и получить подстроку ftp?

1 Ответ

1 голос
/ 22 мая 2019

Вы можете повторить сопоставление без запятой, за которой следует запятая [^,\n]*,

В первом примере вы можете повторить это {8} раз, для второго примера {9} раз, используя квантификатор, и зафиксировать свое значение в группе захвата.

^(?:[^,\n]*,){9}([^,\n]+)

Regex demo

...