正则表达式 rar 存档
regex rar archive
我有这个正则表达式:
.*part0?0?1.rar
还有这个:
匹配
S01.rar
S23.part1.rar
s4.part01.rar
Movie.rar
Youtube Movie.part1.rar
123Mov Ddaa.part01.rar
123Mov Ddaa.part001.rar
不匹配
S01.part02.rar
S2.part4.rar
Movie.part3.rar
Youtube Movie.part08.rar
123Mov Ddaa.part002.rar
测试
如何匹配匹配下的所有单词?抱歉我的英语非常非常糟糕:/
原来你想在Bash中使用正则表达式。您需要的正则表达式将匹配任何包含 part
且后跟除 1
、01
或 001
以外的数字的字符串,即 part
之后的数字必须是大于 1
并否定 结果。
参见 Bash demo 打印 anything
:
file="Youtube Movie.part01.rar"
regex='part(0*[2-9][0-9]*|0*1[0-9]+)\.rar'
if ! [[ $file =~ $regex ]]
then
echo "anything"
fi
在这里,part(0*[2-9][0-9]*|0*1[0-9]+)\.rar
匹配
part
- 文字子字符串 part
(0*[2-9][0-9]*|0*1[0-9]+)
- 两种选择之一:
0*
- 零个或多个 0
个字符
[2-9]
- 从 2
到 9
的数字
[0-9]*
- 任何 0+ ASCII 数字
|
或
0*1[0-9]+
- 零个或多个 0
个字符,1
然后一个或多个任意数字
\.
- 一个点
rar
- rar
子串。
if ! [[ $file =~ $regex ]]
表示"if the $regex
does not match the $file
, show anything
"。
我有这个正则表达式:
.*part0?0?1.rar
还有这个:
匹配
S01.rar
S23.part1.rar
s4.part01.rar
Movie.rar
Youtube Movie.part1.rar
123Mov Ddaa.part01.rar
123Mov Ddaa.part001.rar
不匹配
S01.part02.rar
S2.part4.rar
Movie.part3.rar
Youtube Movie.part08.rar
123Mov Ddaa.part002.rar
测试
如何匹配匹配下的所有单词?抱歉我的英语非常非常糟糕:/
原来你想在Bash中使用正则表达式。您需要的正则表达式将匹配任何包含 part
且后跟除 1
、01
或 001
以外的数字的字符串,即 part
之后的数字必须是大于 1
并否定 结果。
参见 Bash demo 打印 anything
:
file="Youtube Movie.part01.rar"
regex='part(0*[2-9][0-9]*|0*1[0-9]+)\.rar'
if ! [[ $file =~ $regex ]]
then
echo "anything"
fi
在这里,part(0*[2-9][0-9]*|0*1[0-9]+)\.rar
匹配
part
- 文字子字符串part
(0*[2-9][0-9]*|0*1[0-9]+)
- 两种选择之一:0*
- 零个或多个0
个字符[2-9]
- 从2
到9
的数字
[0-9]*
- 任何 0+ ASCII 数字|
或0*1[0-9]+
- 零个或多个0
个字符,1
然后一个或多个任意数字
\.
- 一个点rar
-rar
子串。
if ! [[ $file =~ $regex ]]
表示"if the $regex
does not match the $file
, show anything
"。