```
SELECT version();

┌─version()────┐
│ 21.10.1.8002 │
└──────────────┘

WITH lower('\RealVNC\WinVNC4 /v password') as CommandLine
SELECT 
    CommandLine,
    CommandLine LIKE '%\\\\realvnc\\\\winvnc4%password%' as t1,
    CommandLine LIKE '%\\\\realvnc\\\\winvnc4 %password%' as t2,
    CommandLine LIKE '%\\\\realvnc\\\\winvnc4%password' as t3,
    CommandLine LIKE '%\\\\realvnc\\\\winvnc4 %password' as t4,
    CommandLine LIKE '%realvnc%winvnc4%password%' as t5,
    CommandLine LIKE '%\\\\winvnc4%password%' as t6;

┌─CommandLine──────────────────┬─t1─┬─t2─┬─t3─┬─t4─┬─t5─┬─t6─┐
│ \realvnc\winvnc4 /v password │  0 │  1 │  1 │  1 │  1 │  1 │
└──────────────────────────────┴────┴────┴────┴────┴────┴────┘

1 rows in set. Elapsed: 0.001 sec. 
```

All should match.

http://sqlfiddle.com/#!9/73f0c6/2
#pragma once
#include <type_traits>
#include <base/types.h>
#include <Common/Volnitsky.h>
#include <Columns/ColumnString.h>
#include "Regexps.h"
#if !defined(ARCADIA_BUILD)
#    include "config_functions.h"
#    include <Common/config.h>
#endif
#if USE_RE2_ST
#    include <re2_st/re2.h>
#else
#    include <re2/re2.h>
#    define re2_st re2
#endif
namespace DB
{
namespace ErrorCodes
{
    extern const int ILLEGAL_COLUMN;
    extern const int ILLEGAL_TYPE_OF_ARGUMENT;
}
static inline bool likePatternIsStrstr(const String & pattern, String & res)