可以返回匹配的位置吗?

str="iamhere';
str.match('amh');

可以匹配上,现在,我需要返回1,3两个数字,分别是匹配的起始结束位置。

可否做到?

阅读 2.8k
4 个回答
package test;
public class Test {
    public static void main(String[] args) {
        String str = "iamhere";
        System.out.println("起始位置: " + str.indexOf("amh"));
        System.out.println("结束位置: " + (str.indexOf("amh") + "amh".length() - 1));
    }
}

运行结果:

  • 起始位置: 1

  • 结束位置: 3

function getSE (str, pattern) {
    const plen = pattern.length - 1,
        index = str.indexOf(pattern);
    return index === -1 ? [-1, undefined] : [index, index + plen];
}
"iamhere".match(/a/).index;
"iamhere".match(/h/).index;

str="iamhere";
target="amh";
str.match(target[target.length-1]).index;
str.match(target[0]).index;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题