[rules-users] Extracting data from strings(regular expression)

Qiteng Hong q.hong at strath.ac.uk
Mon Aug 27 12:40:53 EDT 2012


Hi Laune:
Thanks for your comments and suggestions.
Actually that's what I am doing . firstly match the string in the LHS and then on the RHS I call the java method  parsingZ4_Ph_Reach()--details as followed I took it as a compromised solution but not sure how it will influence the efficiency. Any idea about this?


public double parsingZ4_Ph_Reach(String line){
>                      String regx="3240, Z4 Ph. Reach, .*, (.*), ohm,  .*, .*, .*";
>                      Pattern p=Pattern.compile(regx,Pattern.CASE_INSENSITIVE);
>                      Matcher m =p.matcher(line);
>                      if(m.matches()){
>                            return Double.parseDouble(m.group(1));
>                      }
>                      return 0;
>               }

Thx

----------------------------------------------------------------------------------------------
QITENG HONG
PhD Research Student
Advanced Electrical Systems Group
Institute of Energy and Environment
Department of Electronic and Electrical Engineering
University of Strathclyde
Glasgow G1 1XW
The University of Strathclyde is a charitable body, registered in Scotland, number SC015263
________________________________________
From: rules-users-bounces at lists.jboss.org [rules-users-bounces at lists.jboss.org] On Behalf Of Wolfgang Laun [wolfgang.laun at gmail.com]
Sent: 27 August 2012 17:26
To: Rules Users List
Subject: Re: [rules-users] Extracting data from strings(regular expression)

Although there is the "matches" operator, Drools isn't a sophisticated
regular expression engine.

Once you have matched a fact with a String line that matches some
regular expression, you'll have to reapply the regular expression on
the right hand side so that you can extract the string matching group
1. Or use simple String methods to extract this information, now that
you know that the string has a certain pattern.

-W




On 27/08/2012, abing19881226 <q.hong at strath.ac.uk> wrote:
> Hi:
> I am trying to match a string to my regular expression and then capture
> certain groups from the string.
> I know previously there is no such feature , but I am just wondering if
> there is one now?
>
> Basically , what am trying to do is,  insert strings into the session, and
> carry out the reasoning to see if matches a certain regular expression.
> In JAVA I did it as this:
>
>
>        public double parsingZ4_Ph_Reach(String line){
>                      String regx="3240, Z4 Ph. Reach, .*, (.*), ohm, .*,
> .*,
> .*";
>                      Pattern
> p=Pattern.compile(regx,Pattern.CASE_INSENSITIVE);
>                      Matcher m =p.matcher(line);
>                      if(m.matches()){
>                            return Double.parseDouble(m.group(1));
>                      }
>                      return 0;
>               }
>
>
> The purpose is to extract the data in the strings using drools.
> Could you please give me some idea I I could do that in Drools?
> Many thx.
>
>
>
>
>
> --
> View this message in context:
> http://drools.46999.n3.nabble.com/Extracting-data-from-strings-regular-expression-tp4019405.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



More information about the rules-users mailing list