С добавлением большего количества примеров, проблема стала яснее.
Просто, чтобы перефразировать проблему, вы хотите сопоставить только выражение в скобках, которое начинается с item:
, и избавиться от любых одинарных кавычек в скобках.Выражение.
Вы можете использовать это регулярное выражение для сопоставления и захвата данных в группах, исключая любые одинарные кавычки,
(\[item:)|(?!^)\G([^'\n]*)'+
и заменяя их соответствующим образом захваченными группами, равными \1\2
* 1010.*
Объяснение:
(\[item:)
- Начать с буквального совпадения [item:
и захватить его в группе 1 |
- Чередование (?!^)\G
- Соответствует концу предыдущей позиции совпадения ([^'\n]*)
- Соответствует любому необязательному тексту, не содержащему одинарных кавычек или новой строки, и захватывает его в group2 (вы можете удалить \n
, хотя, как обычно, он выигралне является частью вашего входного текста) '+
- соответствует одной или нескольким одинарным кавычкам, которые удаляются, поскольку они не захвачены ни в одной группе.
Демо