Repository: analysis-dev/diktat (kotlin)

Issue:
CONSTANT_UPPERCASE doesn't handle number in middle name
## Describe the bug
`Warn (1:11) [CONSTANT_UPPERCASE] <val> properties from companion object or on file level mostly in all cases are constants - please use upper snake case for them: NEO4J_STARTUP_DELAY_MILLIS` in
```kotlin
const val NEO4J_STARTUP_DELAY_MILLIS = 200L
```

## Expected behavior
No warning in provided example

## Observed behavior

## Steps to Reproduce
Number in middle constant name

## Environment information
* diktat version: 1.2.3, 1.2.4.2
* build tool (maven/gradle): gradle
* how is diktat run (CLI, plugin, etc.): plugin
* kotlin version: 1.7.21
* operating system: windows
* link to a project (if your project is public):

Pull request description:
### What's done:
* fixed regular expression

Closes #1572

Patch:
diff --git a/diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/StringCaseUtils.kt b/diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/StringCaseUtils.kt
index 61878af166..982445f59d 100644
--- a/diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/StringCaseUtils.kt
+++ b/diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/StringCaseUtils.kt
@@ -40,7 +40,7 @@ fun String.isLowerCamelCase(): Boolean = this.matches("[a-z]([a-z0-9])*([A-Z][a-
  *
  * @return boolean result
  */
-fun String.isUpperSnakeCase(): Boolean = this.matches("(([A-Z]+)_*)+[A-Z0-9]*".toRegex())
+fun String.isUpperSnakeCase(): Boolean = this.matches("(([A-Z0-9]+)_*)+[A-Z0-9]*".toRegex())
 
 /**
  * checking that string looks like: lower_case_for_script_names


Test patch:
diff --git a/diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter1/IdentifierNamingWarnTest.kt b/diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter1/IdentifierNamingWarnTest.kt
index 45cf508fae..ab32c4d1c4 100644
--- a/diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter1/IdentifierNamingWarnTest.kt
+++ b/diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter1/IdentifierNamingWarnTest.kt
@@ -135,6 +135,16 @@ class IdentifierNamingWarnTest : LintTestBase(::IdentifierNaming) {
         )
     }
 
+    @Test
+    @Tag(WarningNames.CONSTANT_UPPERCASE)
+    fun `number in middle name`() {
+        lintMethod(
+            """
+                    const val NE04J_STARTUP_DELAY_MILLIS = 200L
+            """.trimIndent()
+        )
+    }
+
     @Test
     @Tags(
         Tag(WarningNames.CLASS_NAME_INCORRECT),