试图为字符串创建一个正则表达式
trying to crate a regular expression for string
我有一个像 Taxi:[(h19){h12}], HeavyTruck :[(h19){h12}] 这样的字符串,其中我想在出租车或重型卡车的“:”之前保留信息.有人可以帮我吗?
我认为这会解决你的问题:(?=\s)*\w+(?=\s*:)
解释:
(?=\s)* - Searches for 0 or more spaces at the begging of the word without including them in the selection .
\w+ - Selects one or more word characters.
(?=\s*:) - Searches for 0 or more white spaces after the word followed by a column without including them in the selection.
这将捕获一个单词,如果它后面是 :[
,允许在 :
前后有空格。
[A-Za-z]+(?=\s*:\s*\[)
您需要设置正则表达式全局标志以捕获所有事件。
要在 :
之前匹配您提供的数据中的信息,您可以尝试 [A-Za-z]+(?= ?:)
which matches upper or lowercase characters one or more times and uses a positive lookahead 断言后面是可选的白色 space 和 :
。
如果冒号后面的模式应该匹配,你可以试试:[A-Za-z]+(?= ?:\[\(h\d+\){h\d+}])
说明
- 匹配一个或多个大写或小写字符
[A-Za-z]+
- 积极的前瞻性
(?:
断言以下内容
- 白色可选space
?
- 是一个冒号,冒号后面的模式使用
\d+
来匹配一个或多个数字(如果你想匹配一个有效的时间,你可以用一个匹配你的时间格式的模式来更新它):\[\(h\d+\){h\d+}]
- 关闭正面前瞻
)
我有一个像 Taxi:[(h19){h12}], HeavyTruck :[(h19){h12}] 这样的字符串,其中我想在出租车或重型卡车的“:”之前保留信息.有人可以帮我吗?
我认为这会解决你的问题:(?=\s)*\w+(?=\s*:)
解释:
(?=\s)* - Searches for 0 or more spaces at the begging of the word without including them in the selection .
\w+ - Selects one or more word characters.
(?=\s*:) - Searches for 0 or more white spaces after the word followed by a column without including them in the selection.
这将捕获一个单词,如果它后面是 :[
,允许在 :
前后有空格。
[A-Za-z]+(?=\s*:\s*\[)
您需要设置正则表达式全局标志以捕获所有事件。
要在 :
之前匹配您提供的数据中的信息,您可以尝试 [A-Za-z]+(?= ?:)
which matches upper or lowercase characters one or more times and uses a positive lookahead 断言后面是可选的白色 space 和 :
。
如果冒号后面的模式应该匹配,你可以试试:[A-Za-z]+(?= ?:\[\(h\d+\){h\d+}])
说明
- 匹配一个或多个大写或小写字符
[A-Za-z]+
- 积极的前瞻性
(?:
断言以下内容 - 白色可选space
?
- 是一个冒号,冒号后面的模式使用
\d+
来匹配一个或多个数字(如果你想匹配一个有效的时间,你可以用一个匹配你的时间格式的模式来更新它):\[\(h\d+\){h\d+}]
- 关闭正面前瞻
)