我如何在此RegEx中使用连字符

问题描述 投票:0回答:1

我对RegEx有所了解,但这对我来说有点复杂。我需要更改的是它也允许一个连字符。

replace(/[^\p{L}\s]+/gu, '')
regex
1个回答
0
投票

您可以使用

.replace(/^([^-]*-)|-/g, '$1').replace(/[^\p{L}\s-]+/gu, '')

它将保留输入字符串中的第一个-以及所有Unicode字母(\p{L})和空格(\s)。

请参见下面的ECMAScript 2018+ JS演示:

console.log( "12-3-**(Виктор Викторович)**...".replace(/^([^-]*-)|-/g, '$1').replace(/[^\p{L}\s-]+/gu, '') )
© www.soinside.com 2019 - 2024. All rights reserved.