Я пытаюсь пропустить первую точку с запятой в строке и сделать разделение на остальной часть точки с запятой, используя регулярное выражение:Пропустить первое появление точки с запятой, используя регулярное выражение
lines = </li> <li> Urinary tract infection </li> <li> Respiratory infection </li> <li> Sinus problems; and </li> <li> Ear infections; <li> Some more info </li>
Я использую этот код, чтобы разделить это на каждом точкой с запятой, кроме первого:
lines.split(/(?<!\\\\);/)
Мой ожидаемый результат:
["</li> <li> Urinary tract infection </li> <li> Respiratory infection </li> <li> Sinus problems; and </li> <li> Ear infections","<li> Some more info </li>" ]
Обратите внимание, что строка может быть длинной с любым количеством точек с запятой, но я хочу предотвратить расщепление от первой точки с запятой.
См [это демо] (HTTP: // ideone. com/D4Chmm) - здесь, однако, он разделен на последнюю полуколону. –
@ WiktorStribiżew Спасибо за быстрый ответ. Строка, которую я опубликовал, является всего лишь примером. Исходная строка, в которой работает im, слишком длинна и имеет несколько точек с запятой. Так что я хочу, чтобы только первая половина двоеточия пропустила и оставила все полуколоны рассмотрены. Я только что обновил вопрос – Raghu
. Что относительно [этой демонстрации] (http://ideone.com/I7rB7B)? 'Lines.scan (/ \ A [^;] * [^;] * | [^;] + /)'? –