我是regex的新手,我正尝试从下面获取字符串tumblr_nk8j5bEGc01u59obp
(动态的,不是静态的)。我真的不知道从哪里开始,有人可以帮我吗? (Java)
<embed type="application/x-shockwave-flash" src="https://secure.assets.tumblr.com/swf/audio_player.swf?audio_file=https%3A%2F%2Fwww.tumblr.com%2Faudio_file%2F80stmntsoundthingies%2F111871866039%2Ftumblr_nk8j5bEGc01u59obp&color=FFFFFF" height="27" width="207" quality="best" wmode="opaque"></embed>
最佳答案
我同意Mathemats的观点,我不会将regex用于此特定目的。
我将执行以下操作:
public static String isolateTumblrCodeFromURL(String url) {
int start = url.indexOf("tumblr_");
if (start == -1) return null;
int end = url.indexOf('&', start);
if (end == -1) return null;
return url.substring(start, end);
}
当然,您也可以使用正则表达式,但这似乎更简单,更快捷。
此外,这仅在要查找的
"tumblr_"
字符串的单个实例的情况下有效。如果您需要多个,只需将该逻辑包装在由int start = url.indexOf("tumblr_"); start>=0; start = url.indexOf("tumblr_", start)
控制的循环中,然后将return
替换为add
到您选择的数据结构中。关于java - 使用正则表达式从复杂的字符串中获取项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29111586/