<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic How to optimize a regex function of concurrent consonants? in Splunk Search</title>
    <link>https://community.splunk.com/t5/Splunk-Search/How-to-optimize-a-regex-function-of-concurrent-consonants/m-p/324730#M96843</link>
    <description>&lt;P&gt;I'm trying to calculate a potential risk score from the number of concurrent consonants in a domain name. (e.g. egorklwqyrjvbsxvhvcws.com is rarely a domain that people intentionally browse... &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;

&lt;P&gt;So I'm psudo-coding for Splunk in my mind, and I'm envisioning a mess of PCRE regex for assessment criterion that's going to thrash our forwarders and indexers.&lt;/P&gt;

&lt;P&gt;Is there a better way to implement the following structure?:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;Set (Consonant_Risk_value) = 0%

IF Rex(domain_name)/([bcdfghjklmnpqrstvwxyz]{5})/i OR Rex(domain_name)/([bcdfghjklmnpqrstvwxyz]{6})/I
THEN set (Consonant_Risk_value) = 40%

ELSE 

IF Rex(domain_name)/([bcdfghjklmnpqrstvwxyz]{7})/i OR Rex(domain_name)/([bcdfghjklmnpqrstvwxyz]{8})/I

THEN set (Consonant_Risk_value) = 60%

ELSE

IF Rex(domain_name)/([bcdfghjklmnpqrstvwxyz]{&amp;gt;8})/i

THEN set (Consonant_Risk_value) = 80% 
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 11 Apr 2017 18:42:25 GMT</pubDate>
    <dc:creator>twisterdavemdCM</dc:creator>
    <dc:date>2017-04-11T18:42:25Z</dc:date>
    <item>
      <title>How to optimize a regex function of concurrent consonants?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-optimize-a-regex-function-of-concurrent-consonants/m-p/324730#M96843</link>
      <description>&lt;P&gt;I'm trying to calculate a potential risk score from the number of concurrent consonants in a domain name. (e.g. egorklwqyrjvbsxvhvcws.com is rarely a domain that people intentionally browse... &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;

&lt;P&gt;So I'm psudo-coding for Splunk in my mind, and I'm envisioning a mess of PCRE regex for assessment criterion that's going to thrash our forwarders and indexers.&lt;/P&gt;

&lt;P&gt;Is there a better way to implement the following structure?:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;Set (Consonant_Risk_value) = 0%

IF Rex(domain_name)/([bcdfghjklmnpqrstvwxyz]{5})/i OR Rex(domain_name)/([bcdfghjklmnpqrstvwxyz]{6})/I
THEN set (Consonant_Risk_value) = 40%

ELSE 

IF Rex(domain_name)/([bcdfghjklmnpqrstvwxyz]{7})/i OR Rex(domain_name)/([bcdfghjklmnpqrstvwxyz]{8})/I

THEN set (Consonant_Risk_value) = 60%

ELSE

IF Rex(domain_name)/([bcdfghjklmnpqrstvwxyz]{&amp;gt;8})/i

THEN set (Consonant_Risk_value) = 80% 
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 11 Apr 2017 18:42:25 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-optimize-a-regex-function-of-concurrent-consonants/m-p/324730#M96843</guid>
      <dc:creator>twisterdavemdCM</dc:creator>
      <dc:date>2017-04-11T18:42:25Z</dc:date>
    </item>
    <item>
      <title>Re: How to optimize a regex function of concurrent consonants?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-optimize-a-regex-function-of-concurrent-consonants/m-p/324731#M96844</link>
      <description>&lt;P&gt;Like this:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;... | eval Consonant_Risk_value=case((match(domain_name, "[bcdfghjklmnpqrstvwxyz]{9,})/i")), "80%",
                                     ((match(domain_name, "[bcdfghjklmnpqrstvwxyz]{7})/i")) OR
                                      (match(domain_name, "[bcdfghjklmnpqrstvwxyz]{8})/I"))), "60%",
                                     ((match(domain_name, "[bcdfghjklmnpqrstvwxyz]{5})/i")) OR
                                      (match(domain_name, "[bcdfghjklmnpqrstvwxyz]{6})/I"))), "40%",
                                     true(), "0%")
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;P.S.  Have you heard about Shannon Entropy?&lt;BR /&gt;
&lt;A href="https://www.splunk.com/blog/2016/04/21/when-entropy-meets-shannon/"&gt;https://www.splunk.com/blog/2016/04/21/when-entropy-meets-shannon/&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 11 Apr 2017 19:07:47 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-optimize-a-regex-function-of-concurrent-consonants/m-p/324731#M96844</guid>
      <dc:creator>woodcock</dc:creator>
      <dc:date>2017-04-11T19:07:47Z</dc:date>
    </item>
    <item>
      <title>Re: How to optimize a regex function of concurrent consonants?</title>
      <link>https://community.splunk.com/t5/Splunk-Search/How-to-optimize-a-regex-function-of-concurrent-consonants/m-p/324732#M96845</link>
      <description>&lt;P&gt;For something similar, check out the ut_shannon() function in the URL Toolbox app (&lt;A href="https://splunkbase.splunk.com/app/2734/#/details"&gt;https://splunkbase.splunk.com/app/2734/#/details&lt;/A&gt;).&lt;/P&gt;</description>
      <pubDate>Tue, 11 Apr 2017 19:08:22 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/How-to-optimize-a-regex-function-of-concurrent-consonants/m-p/324732#M96845</guid>
      <dc:creator>richgalloway</dc:creator>
      <dc:date>2017-04-11T19:08:22Z</dc:date>
    </item>
  </channel>
</rss>

