-
Anonymous
Регулярное выражение (C#) - не могу выяснить, как справиться с отсутствующим полем
Сообщение
Anonymous »
шаблон:
Код: Выделить всё
,LINE:(?\d+).*?(?:,AMOUNT (?(?:A1|A2)):(?[^,]*)).*?(?:,AMOUNT (?(?:A1|A2)):(?[^,]*))
< /code>
[b] input1: < /strong>
Front Stuff, Line: 1, неважные вещи, сумма A1: 1,10, сумма A2: 1,20, более неважные вещи, строка: 2, не важные вещи, сумма A2: 2.10, сумма A1: 2.20, больше не знают, линейность: 3, невозможные материалы, сумма A1: 10.10: 10.10, A10: 10.10, A10: 310: 310, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, Affer. Неважности < /p>
**Results - This works as I expected**
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>
Я хочу обновить регуляцию, чтобы справиться с ситуацией, когда одно или оба количества отсутствуют
Я попытался добавить "?" К концу количества групп, не являющихся захват, но это не так
input 2: [/b]
Front Stuff, Line: 1, неважные вещи, [b] отсутствуют Amt 1 [/b], сумма A2: 1.20, более не важные вещи, линия: 2, нельзя. материал, линия: 3, неважные вещи, сумма A1: 3.10, сумма A2: 3.20, Дополнительные неважные вещи < /p>
**Results 2 (Line 1 grabs the first amount from line 2)**
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
**Desired Result:**
line=1, amount_type1=, amount=, amount_type2=A2, amount2=1.20
Or
line=1, amount_type1=A2, amount=1.20, amount_type2=, amount2=
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
1753912451
Anonymous
[b] шаблон: [/b]
[code],LINE:(?\d+).*?(?:,AMOUNT (?(?:A1|A2)):(?[^,]*)).*?(?:,AMOUNT (?(?:A1|A2)):(?[^,]*))
< /code>
[b] input1: < /strong>
Front Stuff, Line: 1, неважные вещи, сумма A1: 1,10, сумма A2: 1,20, более неважные вещи, строка: 2, не важные вещи, сумма A2: 2.10, сумма A1: 2.20, больше не знают, линейность: 3, невозможные материалы, сумма A1: 10.10: 10.10, A10: 10.10, A10: 310: 310, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, A10, Affer. Неважности < /p>
**Results - This works as I expected**
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>
Я хочу обновить регуляцию, чтобы справиться с ситуацией, когда одно или оба количества отсутствуют
Я попытался добавить "?" К концу количества групп, не являющихся захват, но это не так
input 2: [/b]
Front Stuff, Line: 1, неважные вещи, [b] отсутствуют Amt 1 [/b], сумма A2: 1.20, более не важные вещи, линия: 2, нельзя. материал, линия: 3, неважные вещи, сумма A1: 3.10, сумма A2: 3.20, Дополнительные неважные вещи < /p>
**Results 2 (Line 1 grabs the first amount from line 2)**
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
**Desired Result:**
line=1, amount_type1=, amount=, amount_type2=A2, amount2=1.20
Or
line=1, amount_type1=A2, amount=1.20, amount_type2=, amount2=
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]
Заранее спасибо за любую помощь!
Подробнее здесь: [url]https://stackoverflow.com/questions/79720575/regular-expression-c-cant-figure-out-how-to-handle-missing-field[/url]