我正在试图弄清楚如何匹配不在降价代码块之间的所有char '
。使用VSCode扩展名regreplace
VSCode似乎使用Javascript正则表达式。
例如:
match this one '
```
don't match this
```
match this as well '
```
not this one '
```
yes to this one '
`not this ' one`
目标是用’
char
目前我有这个正则表达式:
(?:(?!`[.\n]*?'))(')[.\n]*?(?!`)
匹配所有'
甚至代码块中的那些。
答案 0 :(得分:1)
您可以将此作为最后的手段
它找到一个'
,它位于任何偶数代码分隔符集之前
这意味着它在外面,而不在里面。
我说这是最后的手段,因为这是一种效率低下的方法 但是,如果块的数量不是那么大,那就太糟糕了。
查找:
'(?=[^`]*(?:`[^`]*`[^`]*)*$)
替换:’
示例:https://regex101.com/r/gdkvdq/1
可读版本:
'
(?=
[^`]*
(?:
` [^`]* `
[^`]*
)*
$
)