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.
You can use /.*?(?=\\s*\\[)/
with match
; ie change \\[
to look ahead (?=\\s*\\[)
which asserts the following pattern but won't consume it:
var s = "Teterboro US [TEB] - 20KM"; console.log( s.match(/.*?(?=\\s*\\[)/) )
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:
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.
You could use: \\w+\\s+\\w+? Depending upon your input
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.