How to find this pattern by regular expression?

A

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
 
G

Gunnar Hjalmarsson

Ahmad said:
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?
 
T

Tad J McClellan

Ahmad said:
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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,770
Messages
2,569,583
Members
45,075
Latest member
MakersCBDBloodSupport

Latest Threads

Top