【发布时间】:2018-10-07 09:10:28
【问题描述】:
当我阅读答案时,我确定我会用头撞墙,但我无法弄清楚这一点。
我有一个带有假数据的 JSON 来填充数据库。一个属性称为“slug”,包含一个我想“slugify”的字符串。
所以这个:
[
{
blah: '[...]'
slug: 'Plem ap at rem',
bleh: '[...]',
},
{
blah: '[...]'
slug: 'Etiam vel augue',
bleh: '[...]',
},
]
应该变成:
[
{
blah: '[...]'
slug: 'Plem-ap-at-rem',
bleh: '[...]',
},
{
blah: '[...]'
slug: 'Etiam-vel-augue',
bleh: '[...]',
},
]
我想先定位值,然后绝望地只捕获空格:
slug: '(?:[\w]*([\s])*)+'
我在环视方面有点搞砸了,但没有运气。
PS:我打算在 VSCode 的 find&replace 中使用它,但也欢迎知道我将如何在 plain JS 中执行此操作!
【问题讨论】:
-
在 VSC 中不可能,但 Notepad++ 或 Sublime Text 将是一个解决方案。喜欢这个
(?:slug\W+|\G(?!^))\K(\w+) +。在此处查看现场演示regex101.com/r/VVBGhW/1 -
在 js 中不工作是一种耻辱 :(
-
在纯 JS 中这很容易,但不幸的是在 VSC 中没有办法。
-
@revo 那么在 js 里怎么样?