Регулярное выражение для исключения текста c - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть это регулярное выражение Эта проблема с регулярным выражением

Все возможные примеры текста разбиты на ### в приведенной выше ссылке. Весь текст появляется не сразу, а только один блок текста, который содержит description, unit price, number of units и total price in euros. Я хочу извлечь описание и оставить общую цену за единицу, количество единиц.

Первый пример текста:

55,000 M 24,40 1.342,00 EUR
3.1.020 / Ansatzpunkte für Kernbohrgerät / E3

58,000 ST 15,21 882,18 EUR #this line is not needed

второй пример:

​
incl. Umspannung des Trägers mit Rippenstreck-
​
metall, Putzdicke einlagig ca. 15 mm ,
​
Öffnungsgröße ca. 1,01 x 2,20 m
​
Wanddicke ca. 20 cm 1,00 Stck. 450,00 450,00 € #(this info is not needed 1,00 Stck. 450,00 450,00 €)
#

Третий пример:


DIN 18300, nach Ausbau des Pflasterbelages

profilgerecht lösen, laden, fördern u. lagern,

Aushubtiefe bis 0,30 m, Breite bis 1,50 mm,

Länge über 30 bis 35 m 2,00 m? 145,00 290,00 € #(this info is not needed 35 m 2,00 m? 145,00 290,00 €)

что я хочу сделать?

  1. Я хочу получить все текст исключая валюту, например, евро, например 1.235,00 or 235,00 or 85,000
  2. Второе, что я хочу исключить - это любой ди git (стоимость единицы) + название единицы .

Имя uint может быть следующим: H , st,stck, PSCH,Pschl, M M2, TO, LITE,ifdm,stück,Stück,Summe:,stWo,StMt,mMt, qm x,qmx, psch Примечание: вполне возможно, что между di git и единицей, например, 1,00stuck, нет пробела или 1Stk

1 Ответ

0 голосов
/ 01 мая 2020

Используйте шаблон регулярного выражения

\b(?:\d+(?:[,.]\d+)*\s*)+(H|stck|st|PSCH|Pschl|mm ...abbreviations...  |qmx|gm|x|EUR|€)

и проверьте его на https://regex101.com/r/yLNrZ5/1, где вы также можете увидеть объяснение (в правом верхнем углу) этого шаблона.


Важно: Когда вы перечисляете сокращения и зарезервированные слова, перечисляйте аналогичные термины в порядке от длинного к более короткому, чтобы обеспечить правильное совпадение - например, m2|m, а не m|m2 или stock|st а не st|stock и др. c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...