正则表达式以大写字母分隔单词

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

请您提供正则表达式帮助吗?

如果我有一个单词backupIPAddress,我需要将其拆分为backup IP AddresshasVPN => has VPNbackupIpAddress => < [备用IP地址

我尝试了以下表达式

(?= \ p {Lu})

,但这不是我所需要的。
regex regex-lookarounds
1个回答
0
投票
您可以分步骤进行:

  1. 小写字母,大写字母,再小写字母。连续两次,以防万一。pIp=> p Ip
  2. 大写字母后跟大写字母,再小写字母。PAd=> P Ad
  3. 小写字母,后跟许多大写字母,后跟单词边界。sVPN=> s VPN

var splitCapitals = s => s .replace(/([a-z])([A-Z][a-z])/g, "$1 $2") .replace(/([a-z])([A-Z][a-z])/g, "$1 $2") .replace(/([A-Z])([A-Z][a-z])/g, "$1 $2") .replace(/([a-z])([A-Z]+)\b/g, "$1 $2") ; console.log(splitCapitals("hasVPN")); console.log(splitCapitals("backupIpAddress")); console.log(splitCapitals("backupIPAddress"));
© www.soinside.com 2019 - 2024. All rights reserved.