我只是reg exp上的菜鸟,我正在努力学习它们。如果我有这样的文件名:
myfile(1).jpg or myfile(21).jpg
如何使用reg exp(php或javascript)提取file name [myfile]
,bracket numbering [1]
和extension [jpg]
?
答案 0 :(得分:2)
试试这个正则表达式:
/^(.*?)(?:\((\d+)\))?\.(.+)$/
$1
变量将包含文件名。
$2
变量将包含编号(如果可用,或者它将是未定义的或为null)。
$3
变量将包含扩展名。
答案 1 :(得分:0)
您可以尝试:
^(.*?)\((\d+)\)\.(.*)$
答案 2 :(得分:0)
您使用哪种语言的正则表达式? 哪种正则表达式语法变体?
以下是使用perl的示例:
my $s = 'myfile(21).jpg';
$s =~ m/^(.*?)\((\d+)\)\.(.*)$/;
print "found 1=$1, 2=$2, 3=$3\n";
它返回:
found 1=myfile, 2=21, 3=jpg
^(.*?)\(
:存储一个字符串最短的字符串“(”,从字符串的开头开始
(\d+)
:存储一个组:数字序列
\.(.*)$
存储一个组:字符串后面的字符串“。”到字符串结尾(文件扩展名)