Regexp's comparison

M

Marcin Tyman

Hi guys,

I have string i.e:
a
b
c
c
c
a
c
d

For example I would like to match all c lines with regexp. How can I
create the regexp if c lines can be ordered differently i.e:
a
c
b
c
c
a
d

I will be appreciated for any help

Thanks
 
A

Alex Young

Marcin said:
Hi guys,

I have string i.e:
a
b
c
c
c
a
c
d

For example I would like to match all c lines with regexp. How can I
create the regexp if c lines can be ordered differently i.e:
a
c
b
c
c
a
d

Not entirely sure I understand the question. What are you expecting the
output to be in each case?
 
R

Robert Dober

Hi guys,

I have string i.e:
a
b
c
c
c
a
c
d

For example I would like to match all c lines with regexp. How can I
create the regexp if c lines can be ordered differently i.e:
a
c
b
c
c
a
d

I will be appreciated for any help

Thanks
Marcin I have no idea what you want achieve? Do you have lines of
strings or one string you have written into different lines?
What is the output/result you want from the input?

My first wild guess is that you should look at Enumerable#grep.

R.
 
M

Marcin Tyman

Guys,
I'm going to search for iptables entries for some IP's. The worst thing
is that rules in iptables can be each time in different order. I need to
check whether all desired rules for particular IP are in iptables.
Moreover I need to find out if there are no more entries than expected.

Assume that a, b, c, d etc.. represent one line in iptable (one entry -
a for IP = x.x.x.x, b for y.y.y.y etc). I need to check whether 3 (not
only one and no more than 3) rules for ip x.x.x.x are in iptables but
these rules (lines) each time may be in different positions (other rules
may be placed between them etc...)
 
M

Marcin Tyman

Sam said:
You can do the scan with lenght, like this:

text = "adcdcbcdc"
text.scan(/c/).length

this will return the total times c shows up in your string.

Yeah,
I've found it. Thanks for help. I think this would solve all issues in
my code.
 
R

Robert Klemme

2007/7/27 said:
Guys,
I'm going to search for iptables entries for some IP's. The worst thing
is that rules in iptables can be each time in different order. I need to
check whether all desired rules for particular IP are in iptables.
Moreover I need to find out if there are no more entries than expected.

Assume that a, b, c, d etc.. represent one line in iptable (one entry -
a for IP = x.x.x.x, b for y.y.y.y etc). I need to check whether 3 (not
only one and no more than 3) rules for ip x.x.x.x are in iptables but
these rules (lines) each time may be in different positions (other rules
may be placed between them etc...)

I would not do any sorting here. Rather I'd fill a Hash with IPs as
keys and arrays of rules as values. That way you do not have to
bother with ordering and also it's faster (probably not an issue in
your case). If you just want to count rules then you only need a
counter as value.

Kind regards

robert
 

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
474,264
Messages
2,571,314
Members
47,990
Latest member
MauricioEl

Latest Threads

Top