0

我正在使用<regex.h>并尝试为.so名称编写一个正则表达式,包括诸如libmath.so.01.

我可以使用更清洁的正则表达式吗?我出来的是:

"^lib[[:alnum:],[:punct:]]*[.]so[[:alnum:],[:punct:],.]*$"
4

1 回答 1

1

目前还不清楚您要捕获文件名的哪一部分,所以我制作了多个版本:

(^lib.*?\.so(?:$|.\d+))

匹配以 lib 开头并以 .so 或 .so 结尾的字符串。后跟一个数字。并捕获文件名。

\blib\w*?\.so(?:$|.\d+)\b

匹配其中某处 libSomthing1.so 或 libSomthing1.so.01 的字符串。并且不捕获任何东西。

于 2013-05-16T12:33:29.013 回答