Я использую Инженерную программу, которая позволяет мне кодировать формулы, чтобы отфильтровать определенные строки в базе данных. Я пытаюсь найти определенную строку в базе данных, которая содержит, например, «бетон» как собственность.
В коде я могу использовать регулярные выражения.
Регулярное выражение, которое я использовал до сих пор, выглядело так:
".*(concrete).*";
поэтому, если строка в базе данных содержит бетон, я получу желаемый результат.
Теперь проблема в том, что я хотел бы переключить слово конкретное с помощью переменной, чтобы оно выглядело так:
".*(@VARIABLE1).*";
(Синтаксис с @ работает в программе между прочим.)
Проблема в том, что: если я устанавливаю переменную как конкретную, программа автоматически переключает ее на 'concrete'
. Очевидно, слово конкретное больше не может быть найдено, так как поисковый термин теперь содержит два символа в начале и в конце.
Есть ли способ игнорировать эти два символа, используя правильное регулярное выражение?
я хочу сделать следующее:
Если строка в базе данных содержит «25см бетона серого цвета»
Я должен получить совпадение с регулярным выражением.
с помощью searchterm ".*(concrete).*";
он работает, с переменной ".*(@VARIABLE1).*";
- нет.
EDIT:
вся "Формула" в программе выглядит так:
if(Match(QTO(Typ:="Attribut{FloorsLayer_02_MaterialName}");".*(@V_QUALITY).*" ;"regex") ;QTO(Typ:="Attribut{Fläche}");0)
Я хочу, чтобы условие if было истинным, когда совпадение внутри истинно.
вся функция QTO - это просто синтаксис программ для использования определенного атрибута в функции соответствия, средняя часть - моя проблема. Я действительно не знаю язык программирования или что-то еще, я новичок в этом. надеюсь, это поможет!