Perl regex matching is working weired -
i'm trying extract each language's information mfc's *.rc file.
so, i've found "language lang_([\s\s]*?)#endif(.*)\n/{1,}
" working following texts @ http://regexpal.com/
: language lang_language1, sublang_xxx #pragma code_page() : end #endif // language1 resources ///////////////////////////////////////////////////////////////////////////// : language lang_language2, sublang_xxxx #pragma code_page() : end #endif // language2 resources ///////////////////////////////////////////////////////////////////////////// :
and also, i've programmed regex finding through perl this.
$rc_file = read_file($argv[0]); @lang = ($rc_file =~ /language lang_([\s\s]*?)#endif(.*)\n\/{1,}/g);
and expected every @lang element forms following texts.
language lang_language1, sublang_xxx #pragma code_page() : end #endif // language1 resources /////////////////////////////////////////////////////////////////////////////
but, i'm receiving these 2 types. numbered elements this,
language1, sublang_xxx #pragma code_page() : end
and odd numbered elements this. // language1 resources
i cannot understand i've used same regex returns without string. should wrap regex format? or doing wrong?
this because of unnecessary parenthesis. got data groups stored in array. here working code:
my @lang = ($rc_file =~ /language lang_[\s\s]*?#endif.*\n\/{1,}/g);
Comments
Post a Comment