Regex 提取出现在第一个冒号之前的最后一个左括号之前的文本
我有包含冒号和许多对括号的stings。以下是一些示例:Regex 提取出现在第一个冒号之前的最后一个左括号之前的文本,regex,Regex,我有包含冒号和许多对括号的stings。以下是一些示例: hello(string1)(string2):string3:string4 foo(string1):string2 foo(string1)(string2):(string3) 我希望字符串的所有内容都在左括号之前出现在第一个冒号之前。上述字符串示例的输出必须如下所示: hello(string1) foo foo(string1) 我使用了^.*(?=:)来获取出现在第一个冒号之前的所有内容(:)。现在我需要得到最后一个左括
hello(string1)(string2):string3:string4
foo(string1):string2
foo(string1)(string2):(string3)
我希望字符串的所有内容都在左括号之前出现在第一个冒号之前。上述字符串示例的输出必须如下所示:
hello(string1)
foo
foo(string1)
我使用了^.*(?=:)
来获取出现在第一个冒号之前的所有内容(:
)。现在我需要得到最后一个左括号前的所有内容(
您就快到了
下面是查找冒号后面的括号的展望:
(?=\([^)]*\):)
尝试以下正则表达式:
^.*(?=\(.*\):)
它匹配任何后跟\(.*):
,这是您所需要的。您可以使用^.*(?=\([^\)]+\:)
请注意,这需要存在:
(至少在末尾)。如果没有冒号,则不会有匹配项