{"id":134,"date":"2026-05-23T10:34:06","date_gmt":"2026-05-23T10:34:06","guid":{"rendered":"https:\/\/bimsoft.qa\/?p=134"},"modified":"2026-05-24T12:31:18","modified_gmt":"2026-05-24T12:31:18","slug":"regular-expressions-in-construction","status":"publish","type":"post","link":"https:\/\/bimsoft.qa\/index.php\/2026\/05\/23\/regular-expressions-in-construction\/","title":{"rendered":"Regular Expressions in Construction"},"content":{"rendered":"<p>Regular expression is quite underestimated technology in Construction and Engineering world. Mostly cause its looks quite weird, not intuitive, and complicated. But that&#8217;s only looks. This article shows how to use it without issues. To do so we limit syntax by few most useful symbols &#8211; dot and astricks, and wrap it into brackets. Its easiest way to read, understand and implement for your tasks.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-153 size-full\" src=\"http:\/\/bimsoft.qa\/wp-content\/uploads\/2026\/05\/Use-regular-expressions-with-BIM-regex101-example-with-tag-token.png\" alt=\"Use regular expression with BIM - regex example with Tag and Token\" width=\"313\" height=\"296\" srcset=\"https:\/\/bimsoft.qa\/wp-content\/uploads\/2026\/05\/Use-regular-expressions-with-BIM-regex101-example-with-tag-token.png 313w, https:\/\/bimsoft.qa\/wp-content\/uploads\/2026\/05\/Use-regular-expressions-with-BIM-regex101-example-with-tag-token-300x284.png 300w\" sizes=\"auto, (max-width: 313px) 100vw, 313px\" \/><\/p>\n<p>In engineering world searching mostly based on project naming conventions. With regex you can identify that equipment is match with conventions. Check items that do not match with it at all. Setup income data check. Implement rapid fixes.<\/p>\n<p>Regex &#8211; its a kind of pattern language. You define pattern value, and engine use it to find anything that much with it. What make it powerful &#8211; is Tokens. Your search patten can contains more than one item to search simultaniously, and as soon as it has been found &#8211; you can play with that.<\/p>\n<p><!--more--><\/p>\n<p>With token approach we actually can simplify Regex and use it for very delicate searching.<\/p>\n<p>To simplify regular expresion for sank of clarity we need just a few options<\/p>\n<p>. &#8211; dot means single character.<\/p>\n<p>.* &#8211; dot and astrix means all characters. All match with this pattern.<\/p>\n<p>() &#8211; token, any pattern inside of this brackets will be considerd as separate token in our pattern. (dont worry, you will get it by examples bellow)<\/p>\n<p>(.*) &#8211; again means all, but this time we consider this All &#8211; as token<\/p>\n<p>(.*)-(.*) &#8211; this eyes basically means that I want all before first symbol &#8220;-&#8221; and after. Which means if value do not have dash &#8211; it would be recognized as match to pattern.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-152\" src=\"http:\/\/bimsoft.qa\/wp-content\/uploads\/2026\/05\/Use-regular-expressions-with-BIM-regex101-example-with-dash.png\" alt=\"Regular expressions for BIM data analisys\" width=\"371\" height=\"259\" srcset=\"https:\/\/bimsoft.qa\/wp-content\/uploads\/2026\/05\/Use-regular-expressions-with-BIM-regex101-example-with-dash.png 371w, https:\/\/bimsoft.qa\/wp-content\/uploads\/2026\/05\/Use-regular-expressions-with-BIM-regex101-example-with-dash-300x209.png 300w\" sizes=\"auto, (max-width: 371px) 100vw, 371px\" \/><\/p>\n<p>(example created with <a href=\"https:\/\/regex101.com\/\">https:\/\/regex101.com\/<\/a>\u00a0 &#8211; probably the best tool for Regular expression create and test)<\/p>\n<p>Now from my text I able to identify my [Importatn civil tag] &#8211; as my first generic Token,\u00a0 and [Beam44] &#8211; as my second generic token.<\/p>\n<p>Lets stick with this approach a bit, we can wrap in token not only special regex character, but any string value as well for example: (tag)-(.*)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-153\" src=\"http:\/\/bimsoft.qa\/wp-content\/uploads\/2026\/05\/Use-regular-expressions-with-BIM-regex101-example-with-tag-token.png\" alt=\"Use regular expression with BIM - regex example with Tag and Token\" width=\"313\" height=\"296\" srcset=\"https:\/\/bimsoft.qa\/wp-content\/uploads\/2026\/05\/Use-regular-expressions-with-BIM-regex101-example-with-tag-token.png 313w, https:\/\/bimsoft.qa\/wp-content\/uploads\/2026\/05\/Use-regular-expressions-with-BIM-regex101-example-with-tag-token-300x284.png 300w\" sizes=\"auto, (max-width: 313px) 100vw, 313px\" \/><\/p>\n<p>Here we got matches where tag is followed by dash, with some value after that.<\/p>\n<p>Basically, thats it. For 90% of searches\u00a0 combination of strings and all (.*) wrapped by\u00a0 token brackets &#8211; is more than enough.<\/p>\n<p>You can try it yourself with notepad++ or any other application which supports regular expression. Or text wtih <a href=\"https:\/\/regex101.com\/\">https:\/\/regex101.com\/\u00a0<\/a><\/p>\n<p>More examples are following:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-154 size-full\" src=\"http:\/\/bimsoft.qa\/wp-content\/uploads\/2026\/05\/Use-regular-expressions-with-BIM-regex101-example-steel-at-the-begining.png\" alt=\"^ - means begining of text row\" width=\"393\" height=\"289\" srcset=\"https:\/\/bimsoft.qa\/wp-content\/uploads\/2026\/05\/Use-regular-expressions-with-BIM-regex101-example-steel-at-the-begining.png 393w, https:\/\/bimsoft.qa\/wp-content\/uploads\/2026\/05\/Use-regular-expressions-with-BIM-regex101-example-steel-at-the-begining-300x221.png 300w\" sizes=\"auto, (max-width: 393px) 100vw, 393px\" \/><\/p>\n<p>^steel tag &#8211; (.*) &#8211; where ^ &#8211; means beginning of row, so we search only steel at start.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-155\" src=\"http:\/\/bimsoft.qa\/wp-content\/uploads\/2026\/05\/Use-regular-expressions-with-BIM-regex101-example-with-three-code-character-at-start.png\" alt=\"Regular expressions fir BIM regex101 example with three character start\" width=\"236\" height=\"293\" \/><\/p>\n<p>As was mentioned before, dot symbol means single character. Here we search for anything starts with three characters followed by dash symbol<\/p>\n<p>And now we can add some complexity into equation, as I said regular expression with tokens, strings and .* &#8211; all is very easy to use, and its covers 90% of business cases<\/p>\n<p>But when you understand this basic, more complex patterns are also become easy to read and use:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-156\" src=\"http:\/\/bimsoft.qa\/wp-content\/uploads\/2026\/05\/Use-regular-expressions-with-BIM-regex101-example-complex-examples-with-Tokens.png\" alt=\"Regular expression with 3 tokens used to identify Piping Spool details\" width=\"339\" height=\"260\" srcset=\"https:\/\/bimsoft.qa\/wp-content\/uploads\/2026\/05\/Use-regular-expressions-with-BIM-regex101-example-complex-examples-with-Tokens.png 339w, https:\/\/bimsoft.qa\/wp-content\/uploads\/2026\/05\/Use-regular-expressions-with-BIM-regex101-example-complex-examples-with-Tokens-300x230.png 300w\" sizes=\"auto, (max-width: 339px) 100vw, 339px\" \/><\/p>\n<p>In this example:<\/p>\n<p>^ &#8211; start at beginning of row.<\/p>\n<p>.{6} &#8211; followed by 6 characters. this equals to &#8230;&#8230; 6 dots<\/p>\n<p>&#8211;\u00a0 followed by dash character<\/p>\n<p>(HW.*) &#8211; followed by HW + all after, but!<\/p>\n<p>(SP\\d{3})- it shall ends with\u00a0 SP and 3-digit characters <em>(\\d &#8211; digit,\u00a0 \\D &#8211; not a digit char)<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>Now we know how to create Regex patterns, and use it with Regex101.<\/p>\n<p>How to implement this knowledge into regular BIM managers tasks?<\/p>\n<p>First, its already might be available for your application, check documentation.<\/p>\n<p>Another option is to write some extensions or addins or plugin where you can implement regex functionality.<\/p>\n<p>For example for NavisWorks you can utilize MK_MetaData plugin, which allows to create complex report and use Regex for filtering results.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Regular expression is quite underestimated technology in Construction and Engineering world. Mostly cause its looks quite weird, not intuitive, and complicated. But that&#8217;s only looks. This article shows how to use it without issues. To do so we limit syntax &hellip; <a href=\"https:\/\/bimsoft.qa\/index.php\/2026\/05\/23\/regular-expressions-in-construction\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[],"class_list":["post-134","post","type-post","status-publish","format-standard","hentry","category-analisys"],"_links":{"self":[{"href":"https:\/\/bimsoft.qa\/index.php\/wp-json\/wp\/v2\/posts\/134","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bimsoft.qa\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bimsoft.qa\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bimsoft.qa\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bimsoft.qa\/index.php\/wp-json\/wp\/v2\/comments?post=134"}],"version-history":[{"count":11,"href":"https:\/\/bimsoft.qa\/index.php\/wp-json\/wp\/v2\/posts\/134\/revisions"}],"predecessor-version":[{"id":164,"href":"https:\/\/bimsoft.qa\/index.php\/wp-json\/wp\/v2\/posts\/134\/revisions\/164"}],"wp:attachment":[{"href":"https:\/\/bimsoft.qa\/index.php\/wp-json\/wp\/v2\/media?parent=134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bimsoft.qa\/index.php\/wp-json\/wp\/v2\/categories?post=134"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bimsoft.qa\/index.php\/wp-json\/wp\/v2\/tags?post=134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}