我有以下文件名称: 当x是数字时(x可以是0到100之间的数字)
fileX
fileXblabla
fileX.X
fileX.Xblabla
例如
fileX --> file1
fileXblabla --> file1blabla
fileX.X --> file5.3
fileX.Xblabla --> file2.9blabla
我的问题是如何匹配目录下的以下各种文件(通过ls和正则表达式或其他东西)
例如
fileX
在目录下,我们希望获取所有文件:file1或file2或file3 ... ..file100
fileXblabla
在目录下我们想要获取所有文件:file1bla或file2bla或file3bla ... ..file100bla
fileX.X
在目录下,我们希望获取所有文件,例如:file1.1或file2.1或file3.1 ...... ..file100.100
fileX.Xblabla
在目录下我们想要获取所有文件:file1.1bla或file2.1bla或file3.1bla ... ..file100.100bla
答案 0 :(得分:0)
以下REGEX将匹配所有4种模式:
file(\d{1,3})(\w*)(?:\.(\d{0,3})(\w*))?
fileX 中的 X 将在后面引用 1
fileXblabla 中的 blabla 将在后面引用 2
fileX.Y 中的 Y 将在后面引用 3
fileX.Yblabla 中的 blabla 位于后面参考 4 。
如果您需要更多帮助,请加注添加评论。
答案 1 :(得分:0)
试试这个:
^file(100|[1-9]\d|\d)(\.(100|[1-9]\d|\d))?(bla)*$