regex - 提取出现在第一个冒号之前的最后一个左括号之前的文本

标签 regex

我有包含冒号和许多对括号的字符串。以下是一些示例:

hello(string1)(string2):string3:string4
foo(string1):string2
foo(string1)(string2):(string3)

我希望左括号之前的所有字符串内容都出现在第一个冒号之前。上述字符串示例的输出必须如下所示:

hello(string1)
foo
foo(string1)

我使用 ^.*?(?=:) 获取出现在第一个冒号 (:) 之前的所有内容。现在我需要获取最后一个左括号 (.

之前的所有内容

最佳答案

你可以使用 ^.*?(?=\([^\)]+\):)

请注意,这需要 : 存在(至少在最后)。如果没有冒号,则没有 (.): 将不会匹配。

http://rubular.com/r/0n5Ch2bDFZ

关于regex - 提取出现在第一个冒号之前的最后一个左括号之前的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29146323/

相关文章:

javascript - 正则表达式问题,与两列条目不匹配

regex - 崩溃计划和正则表达式 - 根据文件名排除文件

regex - 日志文件中的Logstash可选字段

java - 如何验证文件路径?

php - 如何获取未在逗号分隔字符串的第一个或最后一个索引但在 MySQL 中的字符串中间索引的值

python - 如何在 Django 中将开始 URL 与 REGEX 匹配

regex - 如何将名字拆分为姓氏和首字母

Java正则表达式查找双引号

Python Regex - 根据条件连接多行

javascript - 简单的 JavaScript 正则表达式替换不适用于带方括号的 token ?