Попытка создать регулярное выражение для извлечения / выбора элементов в закодированной строке в зависимости от порядка знаков клавиатуры:
str = "(abc-1é,d[efg_2ç;i|jkl+3ö.(mno?4à,p[qr(st!5',uv#6^;|xyz%7_." // look strange :)
Мне нужно получить все включенные части
1) в (, -> "ab c -1é" + "mno? 4à" + "st! 5 '"
2) в [; -> "efg_2ç "+" qr (st! 5, uv # 6 ^ "
3) в | . -> "jkl + 3ö" + "xyz% 7 _"
Я перепробовал много возможностей на https://regex101.com/, и я могу произвести некоторые правильные результаты:
/\(([^()]*),/g -> catch "(abc-1é," "(mno?4à," and "(st!5'," -> OK
/\|[\w()]{0,}(...)./g -> catch "|jkl+3ö." and "|xyz%7_." -> OK
Не спрашивайте меня, почему, но это работает, кроме:
/\[([^()]*);/g or /\[[\w()]{0,}(...);/g -> catch "[efg_2ç;" but ignore "[qr(st!5',uv#6^;"
Мой вопрос: можно ли создать уникальное регулярное выражение способен уловить 3 знака-условия? что-то вроде:
/ init: \[|\(|\| -> inside: [all founded signs, any length] -> end: ,|.|; /g
и (если возможно) с некоторыми пояснениями ... Спасибо заранее