Может ли кто-нибудь поделиться регулярным выражением, чтобы соответствовать только каналам без подстроки между ними?
Например:
ABC, XYZ, |||,|||||, ||G|F|,1|2, ||||, R|T|Y
Я хочу только ||| и ||||| и |||| выбрано.
Заранее спасибо за помощь.
Редактировать:
Используя помощь людей в комментариях ниже. У меня есть частично работающее регулярное выражение (?‹=^|,\s)?(\|+)(?=,|,$)
Однако при этом выбирается | после F в подстроке ||G|F|
Можно ли каким-либо образом изменить это регулярное выражение, чтобы выбирать каналы только между запятыми, между которыми нет строк?
(?:^|,)\s*(\|+)(?:,|$)
? Вы можете получить доступ к каналам, используя первую группу захвата. Демонстрация: regex101.com/r/ca3kRR/1 - person 41686d6564   schedule 08.05.2020\K
и т. д.), который подойдет вам. Это универсальное решение, которое должно работать практически с любым типом регулярных выражений. - person 41686d6564   schedule 08.05.2020, ||G|F|,1|2,||||,
вы снимаете только||||
. Почему бы не||
в начале этой строки, поскольку между этими двумя каналами нет подстроки? - person Cary Swoveland   schedule 08.05.2020(?<=^|,\s?)(\|+)(?=,|$)
должен работать в Java. Если может быть любое количество пробелов, я не думаю, что это будет возможно без захвата групп (которые не так уж плохи, если вы знаете, как их использовать). - person 41686d6564   schedule 08.05.2020