在Intent Filter / PatternMatcher.PATTERN_SIMPLE_GLOB中匹配2个段但不包含3个段路径

时间:2018-03-16 04:30:40

标签: android intentfilter

我遇到问题,我需要过滤掉intent filter无法捕获的“更长”路径。

如下面的代码所示,

    PatternMatcher pm = new PatternMatcher("/..*/..*", PatternMatcher.PATTERN_SIMPLE_GLOB);
    Boolean b = pm.match("/segment/segment");
    Boolean c = pm.match("/segment/segment/segment");

    AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();
    alertDialog.setTitle("Alert");
    alertDialog.setMessage(b.toString() + ',' + c.toString());

结果显示true,true

有没有办法让结果为true,false? 将正则表达式更改为/..*/..*/并将网址更改为/segment/segment/是不可能的。

谢谢。我很感激讨论

1 个答案:

答案 0 :(得分:1)

^([/][A-Za-z0-9\s!@#$%^&()';{}\[\]=+\-_~`.\\]+){2}

您可以使用此正则表达式将结果设为true, false if  还有一个,三个以上的细分

View Explanation