Код: Выделить всё
,LINE:(?\d+).*?(?:,AMOUNT (?(?:A1|A2)):(?[^,]*)).*?(?:,AMOUNT (?(?:A1|A2)):(?[^,]*))
Код: Выделить всё
front stuff,LINE:1,unimportant stuff,AMOUNT A1:1.10,AMOUNT A2:1.20,more unimportant stuff,LINE:2,unimportant stuff, AMOUNT A2:2.10,AMOUNT A1:2.20,more unimportant stuff,LINE:3,unimportant stuff,AMOUNT A1:3.10,AMOUNT A2:3.20, additional unimportant stuff
Код: Выделить всё
line=1, amount_type1=A1, amount=1.10, amount_type2=A2, amount2=1.20
line=2, amount_type1=A2, amount=2.10, amount_type2=A1, amount2=2.20
line=3, amount_type1=A1, amount=3.10, amount_type2=A2, amount2=3.20
< /code>
Я хочу обновить регуляцию, чтобы справиться с ситуацией, когда одно или оба количества отсутствуют
Я попытался добавить "?" К концу группы, не являющихся группами, но это не так
[b] input 2: [/b]
front stuff,LINE:1,unimportant stuff,**missing amt 1**,AMOUNT A2:1.20,more unimportant stuff,LINE:2,unimportant stuff, AMOUNT A2:2.10,AMOUNT A1:2.20,more unimportant stuff,LINE:3,unimportant stuff,AMOUNT A1:3.10,AMOUNT A2:3.20, additional unimportant stuff
Код: Выделить всё
line=1, amount_type1=A2, amount=1.20, amount_type2=A2, amount2=2.10
line=3, amount_type1=A1, amount=3.10, amount_type2=A2, amount2=3.20
Код: Выделить всё
line=1, amount_type1=, amount=, amount_type2=A2, amount2=1.20
< /code>
или < /p>
line=1, amount_type1=A2, amount=1.20, amount_type2=, amount2=
< /code>
с < /p>
line=2, amount_type1=A2, amount=2.10, amount_type2=A1, amount2=2.20
line=3, amount_type1=A1, amount=3.10, amount_type2=A2, amount2=3.20
Подробнее здесь: https://stackoverflow.com/questions/797 ... sing-field