[windup-dev] Fwd: [WindUp] Regular expression to detect filesystem paths
Ondrej Zizka
ozizka at redhat.com
Wed Apr 20 22:58:14 EDT 2016
For the cases like "Message: ", i'd suggest to use negative lookbehind:
(?<!\w)[a-z]:[\\\\|/]
Which basically says, make sure there's no word character prior to the
potential drive letter.
Ondra
On 20.4.2016 16:02, Marek Novotny wrote:
> forgot to include Romain in CC
>
> On 20.4.2016 16:01, Brad Davis wrote:
>> +1 -- it is not only important for Windows to Linux, but also for identifying file read / writes that need to be mounted for cloud deployments to things like OpenShift.
>>
>> Brad Davis
>> Director of FSI Solutions, Red Hat Consulting
>> Email: bdavis at redhat.com | c: 980.226.7865 | http://www.redhat.com
>>
>> ----- Original Message -----
>> From: "Marek Novotny" <mnovotny at redhat.com>
>> To: "Windup-dev List" <windup-dev at lists.jboss.org>
>> Sent: Wednesday, April 20, 2016 9:49:31 AM
>> Subject: [windup-dev] Fwd: [WindUp] Regular expression to detect filesystem paths
>>
>> adding windup-dev ml as this could be interested to Windup community.
>>
>>
>> Romain,
>>
>> I would go with simplified pattern for every unique occurrence to more
>> more general one.
>>
>> So try to use <or></or> and condition patterns in it.
>> Something like the following:
>>
>> <rule id="filesystem-paths-properties">
>> <when>
>> <or>
>> <filecontent filename="{*}.{extensions}"
>> pattern="{filesystem}" />
>> <filecontent filename="{*}.{extensions}"
>> pattern="{netfilesystem}" />
>> <filecontent filename="{*}.{extensions}"
>> pattern="page import="{filesystem}" />
>> </or>
>> </when>
>> <perform>
>> <hint message="File system properties" effort="1"
>> severity="mandatory">
>> <message>
>> TODO
>> </message>
>> </hint>
>> </perform>
>> <where param="extensions">
>> <matches pattern="(java|properties|jsp|jpsf|tag|xml|txt)" />
>> </where>
>> <where param="filesystem">
>> <matches pattern="(\S:[\\|/])" />
>> </where>
>> <where param="netfilesystem">
>> <matches pattern="(\\\\ntfileserver\)" />
>> </where>
>> <where param="netfilesystem">
>> <matches pattern="" />
>> </where>
>> </rule>
>>
>> -------- Forwarded Message --------
>> Subject: [WindUp] Regular expression to detect filesystem paths
>> Date: Wed, 20 Apr 2016 15:29:03 +0200
>> From: Roman Martin Gil <rmarting at redhat.com>
>> To: Marek Novotny <mnovotny at redhat.com>
>>
>>
>>
>> Hi,
>>
>> I am very obfuscated to create a rule to identify some filesystem paths
>> patterns. I am trying to detect when the code (.java, .properties) have
>> the following entries:
>>
>> * "c:\\"
>> * "e:\\"
>> * "c:/"
>> * "e:/"
>> * "\\\\ntfileserver\"
>> * "page import="""
>>
>>
>> My first approach is similar to:
>>
>> <rule id="filesystem-paths-properties">
>> <when>
>> <filecontent filename="{*}.{extensions}"
>> pattern="{filesystem}" />
>> </when>
>> <perform>
>> <hint message="File system properties" effort="1"
>> severity="mandatory">
>> <message>
>> TODO
>> </message>
>> </hint>
>> </perform>
>> <where param="extensions">
>> <matches pattern="(java|properties|jsp|jpsf|tag|xml|txt)" />
>> </where>
>> <where param="filesystem">
>> <matches pattern="((c|e):|[\\])" />
>> </where>
>> </rule>
>>
>> However I am detecting cases as "Message: " as a pattern. How could I
>> create a rule to identify these cases?
>>
>> Thank you very much in advance
>>
>> PD: What is the better mail list to send it?
>>
>>
>
More information about the windup-dev
mailing list