我有以下输入文字:
Teterboro US [TEB] - 20KM
我想得到以下输出:
Teterboro US
我使用以下表达式:
.*\[
但我得到以下结果
Teterboro US [
我想摆脱最后一个空格和括号“[”
我正在使用JavaScript。
答案 0 :(得分:1)
您可以将we are
no time
we are
与/.*?(?=\s*\[)/
一起使用;即更改match
以向前看\[
,它会断言以下模式,但不会消耗它:
(?=\s*\[)

答案 1 :(得分:1)
你可以尝试这种模式:
.*(?= \[)
它是positive lookahead assertion
,它的效果与您期望的一样。
答案 2 :(得分:0)
另一个选择(值得一提的是,如果你不熟悉群体)只会抓住相关部分:
var s = "Teterboro US [TEB] - 20KM";
console.log(
s.match(/(.*)\[/)[1]
)

正则表达式是:
(.*)\[
匹配任何后跟" [",但它"记住"括号括起来的部分。之后,您可以根据您使用的工具/语言访问匹配项。在JavaScript中,您只需访问索引1。
答案 3 :(得分:0)
您可以使用:\ w + \ s + \ w +?取决于您的输入