正则表达式如何让所有的东西都从第一个字符中分离出来

这个问题在这里已经有了答案:

  • 如何访问JavaScript正则表达式中的匹配组? 14个答案
  • Java获得匹配正则表达式2组答案

  • 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

    下一篇: How does JS regex non