Regex 两个字符之间的正则表达式匹配字符串

Regex 两个字符之间的正则表达式匹配字符串,regex,Regex,假设我有一个字符串,其中包含一个包含宽度和高度的文件名。。 例如 “en/text/org-affiliate-250x450.en.gif” 如何使用正则表达式仅获取由“-”和“x”包含的“250”以及由“x”和“.”包含的“450” 我试着遵循这个答案,但没有成功。 如果您使用的是R,则可以尝试以下解决方案 txt = "en/text/org-affiliate-250x450.en.gif" x <- gregexpr("[0-9]+", txt) x2 <- as.num

假设我有一个字符串,其中包含一个包含宽度和高度的文件名。。 例如

“en/text/org-affiliate-250x450.en.gif”

如何使用正则表达式仅获取由“-”和“x”包含的“250”以及由“x”和“.”包含的“450”

我试着遵循这个答案,但没有成功。

如果您使用的是R,则可以尝试以下解决方案

txt = "en/text/org-affiliate-250x450.en.gif"
x <- gregexpr("[0-9]+", txt) 
x2 <- as.numeric(unlist(regmatches(txt, x)))
txt=“en/text/org-affiliate-250x450.en.gif”

x如果您使用R,那么您可以尝试以下解决方案

txt = "en/text/org-affiliate-250x450.en.gif"
x <- gregexpr("[0-9]+", txt) 
x2 <- as.numeric(unlist(regmatches(txt, x)))
txt=“en/text/org-affiliate-250x450.en.gif”

x使用向后看和向前看:

(?<=-|x)\d+(?=x|\.)

(?使用向后看和向前看:

(?<=-|x)\d+(?=x|\.)
(?使用正则表达式
-(\d)+x(\d+)\。

var str='en/text/org-affiliate-250x450.en.gif';
变量数=/-(\d+)x(\d+)\./.exec(str);
数字=[parseInt(数字[1]),parseInt(数字[2]);
console.log(数字);
使用正则表达式
-(\d)+x(\d+)\。

var str='en/text/org-affiliate-250x450.en.gif';
变量数=/-(\d+)x(\d+)\./.exec(str);
数字=[parseInt(数字[1]),parseInt(数字[2]);

console.log(数字);
请显示您的努力。@Utkanos我试着遵循这个,但没有运气。请显示您的努力。@Utkanos我尝试遵循这个,但没有运气。工作得像个符咒…也谢谢您的解释。工作得像个符咒…也谢谢您的解释。