如何在 C/C 中为标准文件名编写 perl 正则表达式++
我的文件具有以下命名约定:
- *.c 表示 ac 源文件。例如 abc_test.c
- *.cc 用于 C++ 源文件。例如 abc_test.cc
- *.h 表示 ac 头文件。例如 abc_test.h
- *.hh 用于 C++ 头文件。例如 abc_test.hh
我如何在 perl 中编写正则表达式来表示这些格式的文件名?
I have files with following naming conventions:
- *.c for a c source file. eg abc_test.c
- *.cc for a c++ source file. eg abc_test.cc
- *.h for a c header file. eg abc_test.h
- *.hh for a c++ header file. eg abc_test.hh
How can i write a regular expression in perl to represent file names in these formats?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不要使用正则表达式,而是提取扩展名并对其进行检查。
使用
qr{\..+?}
匹配任何扩展名。Rather than use a regular expression, extract the extension and do your checks against it.
Use
qr{\..+?}
to match any extension.我能想象的最简单的是
\.c$
、\.cc$
、\.h$
和\.hh$< /代码>。一个简单的脚本可以是:
使用在线正则表达式测试产品之一,例如 http://www.regextester.com/
The simples I can imagine is
\.c$
,\.cc$
,\.h$
and\.hh$
. A simple script could be:Use one of the online regex test offerings, e.g. http://www.regextester.com/
您可以尝试 File::Basename -将文件路径解析为目录、文件名和后缀,
喜欢
You can try File::Basename - Parse file paths into directory, filename and suffix,
like