我需要选择一小部分字符串。
以下是一个示例字符串:http://itunes.apple.com/app/eyelashes/id564783832?uo=5
我需要:564783832
要记住以下几点:
id
(即id564783832
)?uo=5
,也可能没有uo
以外的其他参数。id
之前的文字将具有相似的格式(相同的斜线数,但文字会有所不同)最终将使用Ruby实现。
答案 0 :(得分:2)
在不知道您的语言/工具的情况下,只需假设支持后面。
'(?<=id)\d+'
答案 1 :(得分:0)
您可以匹配前面带有“id”的一些数字序列 - 这假设这些是唯一以“id”开头的数字序列:
(?<=id)\d++
Java中的测试用例:
public static void main(String[] args) {
String input = "http://itunes.apple.com/app/eyelashes/id564783832?uo=5";
Pattern pattern = Pattern.compile("(?<=id)\\d++");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println(matcher.group());
}
}
输出
564783832
答案 2 :(得分:0)
这是我的:
[\w\/]+id(\d+)(\?|$)