- [x] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
- [x] I have checked the [FAQ](https://github.com/apache/dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate.

### Environment

* Dubbo version: 2.7.2-SNAPSHOT
* Operating System version: ubuntu 
* Java version: oracle 11

### Steps to reproduce this issue
```
[INFO] Results:
[INFO] 
[ERROR] Failures: 
[ERROR]   ConditionRouterTest.testRoute_matchFilter:132 expected: <0> but was: <2>
```

```
[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.24 s - in org.apache.dubbo.rpc.cluster.StickyTest
[INFO] Running org.apache.dubbo.rpc.cluster.router.condition.ConditionRouterTest
The localhost address: 10.20.3.47:20880
10.20.3.47:20880
[ERROR] Tests run: 12, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.047 s <<< FAILURE! - in org.apache.dubbo.rpc.cluster.router.condition.ConditionRouterTest
[ERROR] testRoute_matchFilter  Time elapsed: 0.023 s  <<< FAILURE!
org.opentest4j.AssertionFailedError: expected: <0> but was: <2>
	at org.apache.dubbo.rpc.cluster.router.condition.ConditionRouterTest.testRoute_matchFilter(ConditionRouterTest.java:132)

[INFO] Running org.apache.dubbo.rpc.cluster.router.ConfigConditionRouterTest
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.001 s - in org.apache.dubbo.rpc.cluster.router.ConfigConditionRouterTest
[INFO] Running org.apache.dubbo.rpc.cluster.router.script.ScriptRouterTest
Warning: Nashorn engine is planned to be removed from a future JDK release
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.46 s - in org.apache.dubbo.rpc.cluster.router.script.ScriptRouterTest
[INFO] Running org.apache.dubbo.rpc.cluster.router.file.FileRouterEngineTest
Warning: Nashorn engine is planned to be removed from a future JDK release
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.973 s - in org.apache.dubbo.rpc.cluster.router.file.FileRouterEngineTest
[INFO] Running org.apache.dubbo.rpc.cluster.router.TagRouterTest
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0 s - in org.apache.dubbo.rpc.cluster.router.TagRouterTest
[INFO] Running org.apache.dubbo.rpc.cluster.loadbalance.RandomLoadBalanceTest
647
5712
3641
[INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.707 s - in org.apache.dubbo.rpc.cluster.loadbalance.RandomLoadBalanceTest
[INFO] Running org.apache.dubbo.rpc.cluster.loadbalance.LeastActiveBalanceTest
```
Full logs：
https://api.travis-ci.org/v3/job/538065499/log.txt
https://api.travis-ci.org/v3/job/538173916/log.txt
https://api.travis-ci.org/v3/job/539533829/log.txt
Assertions.assertEquals(invoker3, filteredInvokers.get(1));
    }
    @Test
    public void testRoute_False_HostFilter() {
        Router router = new ConditionRouterFactory().getRouter(getRouteUrl("true => " + " host = " + NetUtils.getLocalHost()));
        List<Invoker<String>> invokers = new ArrayList<Invoker<String>>();
        Invoker<String> invoker1 = new MockInvoker<String>(URL.valueOf("dubbo://10.20.3.3:20880/com.foo.BarService"));
        Invoker<String> invoker2 = new MockInvoker<String>(URL.valueOf("dubbo://" + NetUtils.getLocalHost() + ":20880/com.foo.BarService"));
        Invoker<String> invoker3 = new MockInvoker<String>(URL.valueOf("dubbo://" + NetUtils.getLocalHost() + ":20880/com.foo.BarService"));
        invokers.add(invoker1);
        invokers.add(invoker2);
        invokers.add(invoker3);
        List<Invoker<String>> filteredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation());
        Assertions.assertEquals(2, filteredInvokers.size());
        Assertions.assertEquals(invoker2, filteredInvokers.get(0));
        Assertions.assertEquals(invoker3, filteredInvokers.get(1));
    }
    @Test
    public void testRoute_Placeholder() {
        Router router = new ConditionRouterFactory().getRouter(getRouteUrl("host = " + NetUtils.getLocalHost() + " => " + " host = $host"));
        List<Invoker<String>> invokers = new ArrayList<Invoker<String>>();
        Invoker<String> invoker1 = new MockInvoker<String>(URL.valueOf("dubbo://10.20.3.3:20880/com.foo.BarService"));
        Invoker<String> invoker2 = new MockInvoker<String>(URL.valueOf("dubbo://" + NetUtils.getLocalHost() + ":20880/com.foo.BarService"));
        Invoker<String> invoker3 = new MockInvoker<String>(URL.valueOf("dubbo://" + NetUtils.getLocalHost() + ":20880/com.foo.BarService"));
        invokers.add(invoker1);
        invokers.add(invoker2);
        invokers.add(invoker3);
        List<Invoker<String>> filteredInvokers = router.route(invokers, URL.valueOf("consumer://" + NetUtils.getLocalHost() + "/com.foo.BarService"), new RpcInvocation());
        Assertions.assertEquals(2, filteredInvokers.size());
        Assertions.assertEquals(invoker2, filteredInvokers.get(0));