Question: I have the following input text:

```
Teterboro US [TEB] - 20KM

```

I would like to get the following output :

```
Teterboro US

```

I am using the following expression :

```
.*\[

```

But it I am getting the following result

```
Teterboro US [

```

I would like to get rid of the last space and bracket " ["

I am using JavaScript.

Answer: 
You can try this pattern:

```
.*(?= \[)

```

It is `positive lookahead assertion` and it works just like you expect.
Another option (worth mentioning in case you're not familiar with groups) is to catch only the relevant part:

```js
var s = "Teterboro US [TEB] - 20KM";
console.log(
  s.match(/(.*)\[/)[1]
)
```

The regex is:

```
(.*)\[

```

matches anything followed by "[", but it "remembers" the part surrounded by parenthesis. Later you can access the match depending on the tool/language you're using. In JavaScript you simply access index 1.