使用Regex将短语添加到Visual Studio Code中每次出现的末尾,以正则开头,不以结尾和不包含特殊符号

时间:2018-12-07 15:50:04

标签: regex visual-studio-code

我想构建一个表达式,该表达式返回所有以给定字符串开头但不以给定字符串结尾且包含特殊字符的所有短语 示例:

href="开头的内容不包含.,也不以/结尾的内容

比赛

href="blah/foo"
href="foo"

不匹配

href="blah/foo.css"
href="blah/foo.ico"
href="blah/foo."
href="blah/"
href="blah/foo.css/"

我试图构建类似(href=\")^((?!.).)|(?!.*\/$)*$的东西,但此刻我陷入困境。

我还希望能够在每次出现的末尾添加一个短语。

2 个答案:

答案 0 :(得分:1)

您可以使用

查找(href=")([^".]*[^"./])(")
替换$1$2.html$3

请参见regex demo

详细信息

  • (href=")-第1组($1):href="子字符串
  • ([^".]*[^"./])-第2组($2):除"和{{1 }}和.
  • "-第3组(.):一个/字符。

使用VS代码进行测试:

enter image description here

答案 1 :(得分:0)

您可以尝试与此伴侣

href="[^.\s]+?(?!\.)[^\/.]"$
  

说明

  • href="-将完全匹配href="
  • [^.\s]+?-将匹配.以外的任何内容并间隔一个或多个时间(惰性模式)。
  • (?!\.)-负面展望。它检查.
  • [^\/.]$-检查字符串的末尾不应包含/.

Demo