正则表达式如何让所有的东西都从第一个字符中分离出来
这个问题在这里已经有了答案:
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));
你需要利用积极lookbehind来实现这一目标。 参考
这里是一个合适的正则表达式
(?<==)([^?]*)
[A-Za-z0-9]+(?=[?])
这个积极的lookahead搜索“?”后面的字符,不包括非字母和非数字。 这是一个快速解决方案,但可能无法适用于每种情况。
链接地址: http://www.djcxy.com/p/76807.html上一篇: Regex how to get everything apart from the first character