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

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

css - Firefox for ubuntu renders wrong colors -