package Ġio . github . intellij . d language . utils Ċ Ċ import Ġjava . util . regex . Pattern Ċ Ċ /** Ċ Ġ* ĠSome Ġgeneral Ġutility Ġfunctions Ġthat Ġshould Ġbe Ġhelpful Ġin Ġnumero us Ġpart Ġof Ġthe ĠD ĠLanguage Ġplugin Ċ Ġ* Ċ Ġ* Ġ@ author ĠS ama el ĠB ate Ġ( sing ing b ush ) Ċ Ġ* Ġcreated Ġon Ġ 1 4 / 0 2 / 2 0 2 2 Ċ Ġ*/ Ċ class ĠD lang Utils Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠNames Ġfor Ġpackages , Ġmodules , Ġand Ġsource Ġfiles Ġshould Ġbe Ġcomposed Ġonly Ġof ĊĠĠĠĠĠĠĠĠ Ġ* ĠASCII Ġlower Ġcase Ġletters , Ġdigits , Ġand Ġunders cores , Ġand Ġshould Ġnot Ġbe Ġa ĠKeyword . ĊĠĠĠĠĠĠĠĠ Ġ* Ġsee : Ġhttps :// d lang . org / spec / module . html ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ// Ġtodo : Ġinject Ġin Ġthe Ġfull Ġset Ġof Ġkeywords ĊĠĠĠĠĠĠĠ Ġval ĠVALID _ PACK AG ENAME _ REGEX Ġ= ĠPattern . compile ("^ (? ! module | alias | string | int ) ([ a - z 0 - 9 _ ]+ )\ $ ") ĊĠĠĠĠĠĠĠ Ġval ĠVALID _ MOD UL ENAME _ REGEX Ġ= ĠVALID _ PACK AG ENAME _ REGEX ĊĠĠĠĠĠĠĠ Ġval ĠVALID _ FILENAME _ REGEX Ġ= ĠPattern . compile ("^ (? ! module | alias | string | int ) ([ a - z 0 - 9 _ ]+ )( ?: \\. di | \\. d )? $ ") ĊĠĠĠĠĠĠĠ Ġval ĠVALID _ QUAL IFI ED _ NAME _ REGEX Ġ= ĠPattern . compile ("^ (? ! module | alias | string | int ) ([ a - z 0 - 9 _ ]+ )(( ?: \\. )( ?! module | alias | string | int ) ([ a - z 0 - 9 _ ]+ )) *$ ") ĊĠĠĠ Ġ} Ċ } Ċ