-1

我有一个像 Taxi:[(h19){h12}], HeavyTruck :[(h19){h12}] 这样的字符串,其中我想在“:”之前保留信息,即出租车或重型卡车。有人可以帮我吗?

4

3 回答 3

0

我认为这可以解决您的问题:(?=\s)*\w+(?=\s*:)

解释:

(?=\s)* - 在单词的开头搜索 0 个或多个空格,但不将它们包括在选择中。

\w+ - 选择一个或多个单词字符。

(?=\s*:) - 在单词后面搜索 0 个或多个空格,后跟一列,但不将它们包括在选择中。

于 2018-01-19T11:28:28.190 回答
0

如果后面:[允许空格 before 和 after ,这将捕获一个单词:

[A-Za-z]+(?=\s*:\s*\[)

您需要设置正则表达式全局标志来捕获所有事件。

于 2018-01-19T11:29:46.920 回答
0

要匹配您之前提供的数据中的信息,:您可以尝试[A-Za-z]+(?= ?:)匹配大写或小写字符一次或多次,并使用积极的前瞻来断言后面是可选的空格和:.

如果冒号后的模式应该匹配,您可以尝试:[A-Za-z]+(?= ?:\[\(h\d+\){h\d+}])

解释

  • 匹配一个或多个大写或小写字符[A-Za-z]+
  • 一个积极的前瞻(?:,它断言接下来的内容
  • 可选的空白?
  • 是一个冒号,冒号后面的模式\d+用于匹配一个或多个数字(如果你想匹配一个有效时间,你可以用一个匹配你的时间格式的模式来更新它):\[\(h\d+\){h\d+}]
  • 关闭积极的前瞻)
于 2018-01-19T11:42:32.813 回答