in reply to HELP! I am in regex-hell
You could simply exclude the opening parenthesis from the page capture and the closing parenthesis from the section capture like so:
/^([^(]+)\(([^)]*)/
Here's a test with your four examples:
$ perl -E ' my @manpages = qw{ ftpd(8) dhcp-config(5) Cache::Cache(3) Tk::widget::demo(3) }; for my $line (@manpages) { my ($page , $section) = $line =~ /^([^(]+)\(([^)]*)/; say "page[$page] section[$section]"; } ' page[ftpd] section[8] page[dhcp-config] section[5] page[Cache::Cache] section[3] page[Tk::widget::demo] section[3]
— Ken
|
|---|