假设我有一些日志说:
s3://hello/world
s3n://hello/again
我想要得到以下结果:
hello/world
hello/again
我最初的想法是((s3n:\/\/)|(s3:\/\/))
但这当然只选择 s3n://
和s3://
。我需要否定(反转)此选择,但它并不像字符串(而不是字符)看起来那么简单。
您将如何反转此选择?
最佳答案
我建议使用^s3n?:\/\/(.*)
,可以尝试here 。您所需的字符串位于第一个捕获组中。
说明:
- ^ - 匹配字符串的开头。
- s3n? - 匹配“s3”后跟可选的“n”。
- :\/\/ - 匹配一个冒号和两个正斜杠。
- (.*) - 匹配并捕获字符串的其余部分。
关于regex - 正则表达式匹配除两个字符串之外的所有内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50633653/