How to find this pattern by regular expression?
am 30.03.2008 16:56:25 von ahmad
Hi,
I want to find the pattern: PATTERN that can contain lower case or
upper case characters, digits, and special characters like : _ ; ( )
& .
A sample context is:
-- Start here (this line is not in context)
PATTERN {
@ a line containing anything(comment line)
@ multiple comment lines can exist
// Another type of comments
/* Third type of comments
and it's a multiline comment
*/
x1=a AND b
y1= x1 OUTSIDE layer100
copy y1
//Comments can exist anywhere in the text (between the braces)
// this is the closing brace }
-- End here (this line is not in context)
I need when apply regular expression on the above sample context, it
return the word PATTERN.
Any guidance about the most efficient RE to perform that?
Thanks and best regards,
Ahmad
Re: How to find this pattern by regular expression?
am 30.03.2008 18:14:23 von Gunnar Hjalmarsson
Ahmad wrote:
> I want to find the pattern: PATTERN that can contain lower case or
> upper case characters, digits, and special characters like : _ ; ( )
> & .
>
> A sample context is:
>
> PATTERN {
> @ a line containing anything(comment line)
> @ multiple comment lines can exist
> // Another type of comments
> /* Third type of comments
> and it's a multiline comment
> */
> x1=a AND b
> y1= x1 OUTSIDE layer100
> copy y1
>
> //Comments can exist anywhere in the text (between the braces)
>
> // this is the closing brace }
my ($pattern) = /([\w:;()&.]+)\s+{.+?}/s;
> Any guidance about the most efficient RE to perform that?
Efficient? What makes you consider efficiency being an issue?
--
Gunnar Hjalmarsson
Email: http://www.gunnar.cc/cgi-bin/contact.pl
Re: How to find this pattern by regular expression?
am 30.03.2008 22:29:26 von Tad J McClellan
Ahmad wrote:
> Hi,
>
> I want to find the pattern: PATTERN that can contain lower case or
> upper case characters, digits, and special characters like : _ ; ( )
> & .
/[\w:;()&.]+/
> A sample context is:
>
> -- Start here (this line is not in context)
>
> PATTERN {
> @ a line containing anything(comment line)
> @ multiple comment lines can exist
> // Another type of comments
> /* Third type of comments
> and it's a multiline comment
> */
> x1=a AND b
> y1= x1 OUTSIDE layer100
> copy y1
>
> //Comments can exist anywhere in the text (between the braces)
>
> // this is the closing brace }
>
> -- End here (this line is not in context)
>
> I need when apply regular expression on the above sample context, it
> return the word PATTERN.
my($match) = $context =~ /(PATTERN)/;
> Any guidance about the most efficient RE to perform that?
You should first try to find ANY regex that does what you want.
Only if it proves to be too slow should you concern yourself with
making it faster.
--
Tad McClellan
email: perl -le "print scalar reverse qq/moc.noitatibaher\100cmdat/"