我有一个像 Taxi:[(h19){h12}], HeavyTruck :[(h19){h12}] 这样的字符串,其中我想在“:”之前保留信息,即出租车或重型卡车。有人可以帮我吗?
问问题
134 次
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 回答