因此,我在vscode中有一个正则表达式,它与第一个{space}之后的任何句子匹配,每行使用(?<=\s).*。
这是正则表达式匹配的屏幕截图。

我试图通过将所有文本元素放在字符串中,将包含超过50,000行未格式化对象的txt文件转换为更正json。因此,我首先使用查找和替换特性来匹配文本元素,然后使用vscode中的替换模块将它们单独放置在""中。

但是,当我在替换模块中使用$0时。似乎奇怪的是,$0捕捉到了第二个发现的空间,而不是第一个发现的空间。

你看到问题了吗?在你看这里之前,一切看起来都是相应的替换。

这发生在任何实际上被分隔开而不是与-连接的句子中。
我不知道为什么会这样。我的猜测是,我需要在()中以某种方式重新格式化regex,因为据我所知,调用find模块中声明的regex表达式的$方法只捕获定义括号之间的regex表达式?
这里是txt文档的示例。
"Type": language
"Subtag": ht
"Description": Haitian
"Description": Haitian Creole
"Added": 2005-10-16
"Suppress": Latn
%%
"Type": language
"Subtag": hu
"Description": Hungarian
"Added": 2005-10-16
"Suppress": Latn
%%
"Type": language
"Subtag": hy
"Description": Armenian
"Added": 2005-10-16
"Suppress": Armn
"Comments": see also hyw
%%
"Type": language
"Subtag": hz
"Description": Herero
"Added": 2005-10-16
%%
"Type": language
"Subtag": ia
"Description": Interlingua (International Auxiliary Language Association)
"Added": 2005-10-16
%%
"Type": language
"Subtag": id
"Description": Indonesian
"Added": 2005-10-16
"Suppress": Latn
"Macrolanguage": ms
%%
"Type": language
"Subtag": ie
"Description": Interlingue
"Description": Occidental
"Added": 2005-10-16
%%
"Type": language
"Subtag": ig
"Description": Igbo
"Added": 2005-10-16我相信这是一个非常特殊和不常见的问题,所以提前谢谢。
更新
我忘记提到我使用的是javascript regex风格。
过去的解决方案似乎只适用于PHP,而不是javascript。

https://stackoverflow.com/questions/61927968
复制相似问题