我正在尝试从 MFC 的 *.rc 文件中提取每种语言的信息。
所以,我发现“ LANGUAGE LANG_([\s\S]*?)#endif(.*)\n/{1,}
”正在为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
/////////////////////////////////////////////////////////////////////////////
:
而且,我已经编写了关于通过 perl 查找正则表达式的程序,就像这样。
$rc_file = read_file($ARGV[0]);
@LANG = ($rc_file =~ /LANGUAGE LANG_([\s\S]*?)#endif(.*)\n\/{1,}/g);
我希望得到每个@LANG 元素形式,如以下文本。
LANGUAGE LANG_Language1, SUBLANG_XXX
#pragma code_page()
:
END
#endif // Language1 resources
/////////////////////////////////////////////////////////////////////////////
但是,我收到这两种类型。偶数元素是这样的,
Language1, SUBLANG_XXX
#pragma code_page()
:
END
奇数元素是这样的。// Language1 资源
我无法理解我使用了相同的正则表达式,但它返回时没有任何字符串。我应该用另一种格式包装正则表达式吗?还是我做错了?