Java 使用正则表达式从复杂字符串获取项

Java 使用正则表达式从复杂字符串获取项,java,regex,Java,Regex,我不熟悉regex,我正在尝试从下面获取字符串tumblr\u nk8j5bEGc01u59obp(动态,而非静态)。我真的不知道从哪里开始,谁能帮我一下吗?(爪哇) 我同意Mathemats的观点,我不会为了这个特殊目的使用正则表达式 我会做如下的事情: public static String isolateTumblrCodeFromURL(String url) { int start = url.indexOf("tumblr_"); if (start == -1)

我不熟悉regex,我正在尝试从下面获取字符串tumblr\u nk8j5bEGc01u59obp(动态,而非静态)。我真的不知道从哪里开始,谁能帮我一下吗?(爪哇)


我同意Mathemats的观点,我不会为了这个特殊目的使用正则表达式

我会做如下的事情:

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);
}
当然,您也可以使用regex,但这似乎更简单、更快


此外,这仅在您要查找的
“tumblr\u1”
字符串只有一个实例时才有效。如果需要多个,只需将该逻辑封装在一个由
intstart=url.indexOf(“tumblr”)控制的循环中;开始>=0;start=url.indexOf(“tumblr”,start)
,并将
返回
s替换为
s添加到所选的数据结构中。

我将使用java解析字符串,而不是使用正则表达式。压缩字符串,直到找到“tumblr”,然后继续,直到找到“&”字符。
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);
}