
REGEX for naming standards starting with a page order digits:
REGEX for naming standards starting with discipline indicators:
United States National CAD Standard - V6: Uniform Drawing System Module 1 A1A2DDD.DD-UUU
title string.PDF Permitted characters for “A” A1 = 1st level: ABCDEFGHILMOPQRSTUVWXZabcdefghilmopqrstuvwxz A2 = 2nd level: -ABCDEFGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrstuvwxy A-001 title string.pdf a-001 title string.pdf A-001.01-R1 title_string.pdf el001.01-X1 title string.PDF |
One char for level 1 set, one dash or one char from level 2 set, three digits, optional period and two digits, optional dash and one to three characters (A-z) or digit (0-9), a title string (can include underbar and space), .PDF |
|
^([ABCDEFGHILMOPQRSTUVWXZabcdefghilmopqrstuvwxz])([-ABCDEFGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrstuvwxy])(\d{3})((.\d{2}){0,1})((-(\w|\d){1,3}){0,1})\s{1,2}(([a-zA-Z0-9]|\s|&|_){1,})\.(p|P)(d|D)(f|F)$ |
||
A1.00 sheet title.pdf ID1.00 sheet title.pdf Id1.00 any-string.pdf V1.00 sheet & title1.pdf |
One or two chars set per table, one digit, period, two digits, optional decimal and digit, space, a sheet title string, .PDF |
|
^(([ASPMELCGV]|[aspmelcgv])|(ID|id|Id|iD)|(sc|SC|Sc|sC)|(ls|LS|Ls|sL)|(FP|fp|Fp|fP)){1}\d{1}\.\d{2}(\.\d){0,1}\s{1,2}(([a-zA-Z0-9]|\s|_|-|&){1,})\.(p|P)(d|D)(f|F)$ |
||
100 - title.pdf A100 - lower floor plan.pdf A100-lower floor plan.pdf a100.05-lower floor plan.pdf
File name is limited to 40 characters in total |
Total file name limited to 40 chars in total… Regex: (?!.{41,}) |
|
(?!.{41,}) ((([ASPEMLVFHaspemlvfh]|(EN|en|eN|En))\d{3}(\.\d{1,2}){0,1}(-|\s{1,2}-|-\s{1,2}|\s{1,2}-\s{1,2})([a-zA-Z0-9]|\s|&|_){1,})|((\d{3})(-|\s{1,2}-|-\s{1,2}|\s{1,2}-\s{1,2})(t|T)(i|I)(t|T)(l|L)(e|E)))\.(p|P)(d|D)(f|F)$ |
||
0-Title.PDF 0 - Title.pdf 0- Title.PDF A1.0-Sheet Title.PDF C1.22 Sheet Title.Pdf C1.2_Sheet Title.pdf C1.2 - Sheet & Detail1.pdf
|
Either a zero dash “Title” (can have spaces between the dash) OR one char (A,C,E,F,L,M,P or S), one digit, a “period”, follow by digit, followed by a dash (can have spaces between) or “space” or “underline” and sheet title string, .PDF
|
|
^((([ACEFLMPSaceflmps])\d\.\d{1,2}(\s{1,2}|_|-|\s-\s)([a-zA-Z0-9]|\s|&|_){1,})|((0-|0\s-|0\s-\s|0-\s)(t|T)(i|I)(t|T)(l|L)(e|E)))\.(p|P)(d|D)(f|F)$ |
||
A000 any string.pdf a003 any string.pdf A000.05 any_string.pdf A000.05-any_string.pdf A000.05_any string.pdf A000.05-any string.pdf EN000.05 - any string.pdf EN999 any string.pdf |
|
One or two chars per the table (i.e., A,S,P,E,M,L,V,F,H,EN), three digits, optional period one to two digits, a space, dash, space/dash/space, sheet title string, .pdf
|
^([ASPEMLVFHaspemlvfh]|EN|en|En|eN)(\d{3})((\.\d{1,2}){0,1})((\s{1,2}|_|\s{0,}-\s{0,})([a-zA-Z0-9]|\s|&|_){1,})\.(p|P)(d|D)(f|F)$ |
||
0001-Cover Sheet.pdf 002 - Code Analysis.PDF A001 -First Floor Plan.pDF A0001-first floor plan.PDF GB001-Energy Verification Sheet.pdf
|
Either Three to four digits, dash OR one or more spaces between a dash and then a title string, OR Discipline header (from table) followed by three to four digits, dash OR one or more spaces between a dash and then a title string,.pdf Alt: CDDD.DD CDDD.D (for inserts) 0001-Cover Sheet.pdf 0002 - Code Analysis.PDF A001.01 -First Floor Plan.pDF A0001.5-first floor plan.PDF GB001-Energy Verification Sheet.pdf Add ((\.\d{1,2}){0,1})) after discipline sheet number (3 to 4 digits) |
|
^((\d{3,4})|((([ASZEFMPLDaszefmpld]|((G|g)(B|b))|((I|i)(N|n))|((D|d)(D|d)(O|o)(E|e))|((C|c)(I|i)(V|v))|((E|e)(L|l)(V|v))){1})(\d{3,4})))(\s{0,2}-\s{0,2})(([a-zA-Z0-9]|\s|&|_|-){1,})\.(p|P)(d|D)(f|F)$ For one to two digits insert option – alternative pattern ^((\d{3,4})|((([ASZEFMPLDaszefmpld]|((G|g)(B|b))|((I|i)(N|n))|((D|d)(D|d)(O|o)(E|e))|((C|c)(I|i)(V|v))|((E|e)(L|l)(V|v))){1})(\d{3,4}((\.\d{1,2}){0,1}))))(\s{0,2}-\s{0,2})(([a-zA-Z0-9]|\s|&|_|-){1,})\.(p|P)(d|D)(f|F)$ |
||
REGEX for naming standards with leading project name strings:
2020PW0155T1.PDF 2021PW0159S2.PDF 2021PW0160E1.PDF 2021PW0160E2.PDF 2021PW0160E99.PDF MUST BE ALL CAPS
|
For digits, followed by “PW”, followed by four digits, a char (either T,W,S,E), one or two digits, .PDF
|
^\d{4}PW\d{4}([TWSE])\d{1,2}\.(p|P)(d|D)(f|F)$ |
|
project name A1.00 sheet title.pdf project_name ID1.00 sheet title.pdf project-name Id1.00 any string.pdf project & name V1.00 sheet title.pdf |
A project name string, one or two chars set per table, one digit, period, two digits, optional decimal and digit, space, a sheet title string, .PDF |
^(([a-zA-Z0-9]|\s|_|-|&){1,}){0,1}(([ASPMELCGV]|[aspmelcgv])|(ID|id|Id|iD)|(sc|SC|Sc|sC)|(ls|LS|Ls|sL)|(FP|fp|Fp|fP)){1}\d{1}\.\d{2}(\.\d){0,1}\s{1,2}(([a-zA-Z0-9]|\s|&|_){1,})\.(p|P)(d|D)(f|F)$ |
|
REGEX for naming standards (complex) examples:
|
^(([ACDEGLMPRSTVX]-{0,1}\d{2}(-\d{1,2}){0,1})|(A-{0,1}0|DOC-{0,1}0|C-{0,1}0|PZD-{0,1}0)|((BLD|ERD|ETR|HEP|MDC|NOA|PAP|PHD|PHO|PPD|PZD|RPF|RPW|CG|CS|CTPL|CWS|FA|FP|FS|IR|LS|MF|OD)-{0,1}\d{2}(-\d{1,2}){0,1})|((40-{0,1}[SEC])))\.(p|P)(d|D)(f|F)$ To add sheet title option – alternative pattern example: A-01-3 sheet_title1 & more.pdf ^(([ACDEGLMPRSTVX]-{0,1}\d{2}(-\d{1,2}){0,1})|(A-{0,1}0|DOC-{0,1}0|C-{0,1}0|PZD-{0,1}0)|((BLD|ERD|ETR|HEP|MDC|NOA|PAP|PHD|PHO|PPD|PZD|RPF|RPW|CG|CS|CTPL|CWS|FA|FP|FS|IR|LS|MF|OD)-{0,1}\d{2}(-\d{1,2}){0,1})|((40-{0,1}[SEC])))\s{1,2}(([a-zA-Z0-9]|\s|&|_|-){1,})\.(p|P)(d|D)(f|F)$ |
NOTE: full list of disciplines characters…
G,C,S,A,ID,I,QF,P,M,E,EL
G0.00_COVER SHT.pdf A0.01_DEMO-FLR1.pdf C04.01_DEMO.pdf S2_FOUNDATION.pdf S3_SECT & DTLS.pdf S4_FRMG SEC DTLS.pdf A0.02 DEMO-FLR2.pdf I1.2A_FLR2 CLG.pdf I1.2B_FLR2 CLG.pdf I2.0_EXT ELEV.pdf I4.0_WN-DR SCHED.pdf QF-6.0_WALL BACK.pdf P2.01_FLR1 PLBG.pdf M5.01_SCHED DTLS.pdf E4.01_SCHED DTLS.pdf EL2.01_FLR1 LTG.pdf |
(?!.{41,})^(([acegimpsACEGIMPS]|ID|id|iD|Id|qf-|QF-|qF-|Qf-|EL|el|El|eL)(\d{1,2})((\.\d{1,2})|(\.\d[a-zA-Z])){0,1})(\s{1,2}|_)(\w|\s|-|&|_){1,}\.(p|P)(d|D)(f|F)$ To just do the purple section, discipline “C” only (as example) – alternative pattern example (?!.{41,})^(([cC])(\d{1,2})((\.\d{1,2})|(\.\d[a-zA-Z])){0,1})(\s{1,2}|_)(\w|\s|-|&|_){1,}\.(p|P)(d|D)(f|F)$ |