regex - 如何排除 URL 末尾的括号

标签 regex regex-lookarounds regex-group regex-greedy

我是正则表达式的新手,因此非常感谢任何帮助。 我有一个表达式来识别 URL: (http[^'\"]+)

不幸的是,在某些网址上,我在末尾得到了额外的方括号 例如“http://example.com]]”

结果想要接收“http://example.com”

如何借助我上面编写的正则表达式去掉这些括号?

最佳答案

您实际上拥有的称为否定字符类,因此只需添加不应匹配的字符即可。此外,实际上并不需要捕获组。也就是说,你可以使用

http[^'"\]\[]+
#       ^^^^

请注意,这将排除您可能的网址中任何地方的方括号,而不仅仅是在末尾。请参阅a demo on regex101.com .

关于regex - 如何排除 URL 末尾的括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69242467/

相关文章:

regex-group - 带有占位符的正则表达式

java - Java 中的正则表达式 - 提取某些符号之间的字符串

Java/Scala 正则表达式 : Move number in parentheses in string

python - 在匹配模式之前匹配单词不定次数

php - 使用 preg_match 查找所有 PHP 变量

regex - 检查正则表达式中捕获组中的最小字符数

匹配字符串的正则表达式,但前提是同一行上的任何地方都不存在另一个字符串

java - String.replaceAll 的正则表达式

PHP 正则表达式忽略以双下划线开头的文件

regex - vimscript E888 : (NFA regexp) cannot repeat