【发布时间】:2020-03-10 14:49:19
【问题描述】:
我目前正在使用 JavaScript 正则表达式为 VSCode 开发一些 Python sn-ps,我想要一个类似的:
给定
var1, var2, var3
生产
self.var1 = var1
self.var2 = var2
self.var3 = var3
我目前知道如何用换行符替换逗号,但不知道如何用另一个字符串替换每个单词。我不擅长正则表达式,所以它没有帮助。我想我需要做以下事情:
var1, var2 -> self.var1 = var1, self.var2 = var2
感谢您的帮助
编辑:
根据 cmets 中的建议,我尝试了这个:/(.*,)/self.$0 = $0/
它显然不起作用有几个原因:它匹配所有字符串直到最后一个逗号。 VSCode 不提供对“\w”的访问权限,但我看不出它有什么帮助。
我测试的其他东西也不起作用,因为我正在寻找复制每个单词:/(.*)/self.$0 = $0/
由于我没有发布它,这里是用新行替换的 comme:
/[,]/\n/g
Edit2(更新):
从我尝试过的评论建议中:/(.*?)(?:, |$)/self.$1 = $1\n/g 这导致了几乎完美的结果:
toto, titi, tata
导致
self.toto = toto
self.titi = titi
self.tata = tata
self. =
【问题讨论】:
-
我实际上不知道如何尝试任何事情。正如我所说,我可以用换行符替换逗号(这很容易),但我不知道从哪里开始。我想选择每个单词的开头并将其替换为“self”。以及复制每个单词并在前面附加一个“=”。但我不知道该怎么做
-
好的,所以这根本没有帮助,因为我已经浏览了 JS 和 Python 的整个正则表达式文档。我想复制一个单词并在它之前/之后插入字符串。我读到的东西都没有回答这个问题,也没有一个想法。
-
好的,所以一点都不清楚,因为您链接了一些东西以在行尾添加字符串。我测试了你解释的内容,但它不起作用,因为我匹配任何单词,就像你说的那样。但我想要复制每个单词:“toto,tata,titi”应该给出“toto toto,tata tata,titi titi”,它给出“toto,tata,titi toto,tata,titi”
-
尝试以下操作:/(.*?)(?:, |$)/self.$0 = $0\n/
-
我想我们在这里有些东西,谢谢@HarmvanderWal。可悲的是,它并不完全有效。我会更新问题
标签: regex visual-studio-code vscode-debugger