这是我的字符串
x = ["00.00"[h] for h in range(len("00.00"))]
print(x)
> ['0', '0', '.', '0', '0']
到目前为止这是我的正则表达式
>>> x = [input()[h] for h in range(len(input()))]
> what
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <listcomp>
IndexError: string index out of range
我想抓住&#34; john903&#34;
然而,这当前返回&#34; = john903&#34;
答案 0 :(得分:1)
Javascript:(原来这个问题是用Javascript标记的)
您当前正在使用的正则表达式捕获所需的值,但返回一个数组。没有等号的匹配位于数组的第二个元素中:
var str = "username=john903?fullname=john&smith".match(/=([^?]*)/)[1]
//str is now "john903"
Java:(OP评论说他们实际上是在使用Java)
String line = "username=john903?fullname=john&smith";
Pattern pattern = Pattern.compile("=([^?]*)");
Matcher matcher = pattern.matcher(line);
System.out.println(matcher.group(1));
答案 1 :(得分:0)
答案 2 :(得分:-1)
[A-Za-z0-9]+(?=[?])
这个正向前瞻搜索“?”后面的字符,不包括非字母和非数字。这是一个快速的解决方案,但可能不适用于所有情况。