Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript正则表达式区分大小写_Javascript_Regex_String_Uppercase_Lowercase - Fatal编程技术网

javascript正则表达式区分大小写

javascript正则表达式区分大小写,javascript,regex,string,uppercase,lowercase,Javascript,Regex,String,Uppercase,Lowercase,我得到了一个字符串,比如: var str = new Array( "Inverted HFFSfor Primary Wrap Or Secondary Multi Wrap", "HFFSwith PDSPbackgroud Feederlense & Product Alignerigit", "HFFSwith Cooler JKLHbetween Feeder & Product Aligner") 如何分离,即 1) HFFSfor变为HFFS for 2) H

我得到了一个字符串,比如:

var str = new Array( 
"Inverted HFFSfor Primary Wrap Or Secondary Multi Wrap",
"HFFSwith PDSPbackgroud Feederlense & Product Alignerigit",
"HFFSwith Cooler JKLHbetween Feeder & Product Aligner")
如何分离,即

1) HFFSfor变为HFFS for

2) HFFSwith成为HFFS with

3) PDSP背景成为PDSP背景

4) JKLH-between变成JKLH-between

等等

我的第一个学院是这样的:

for(var i = 0; i<_str.length; i++){ 
if( (/*The needed Regex*/).test(_str[i]) ){


     }  
}

对于(var i=0;i您可以尝试这样做,捕获由多个大写字母(作为一组)和小写字母(作为另一组)组成的单词,然后在两组之间添加空格:

var str=新数组(
“主要包裹或次要多重包裹的反向HFFSF”,
“具有PDSPBackground FeederSense和Product AlignerGit的HFFS”,
“在进料器和产品对准器之间带有冷却器的HFFSF”)
console.log(
str.map(s=>s.replace(/([A-Z]{2,})([A-Z]+)/g,“$1$2”))

)
您可以尝试这样做,捕获由多个大写字母(作为一组)和小写字母(作为另一组)组成的单词,然后在两组之间添加空格:

var str=新数组(
“主要包裹或次要多重包裹的反向HFFSF”,
“具有PDSPBackground FeederSense和Product AlignerGit的HFFS”,
“在进料器和产品对准器之间带有冷却器的HFFSF”)
console.log(
str.map(s=>s.replace(/([A-Z]{2,})([A-Z]+)/g,“$1$2”))

)
indexOf
不接受rgex,您可以使用
。像这样替换

您可以使用:

var repl = str.replace(/\B([a-z](?=[A-Z])|[A-Z](?=[a-z]))/g, '$1 ');

正则表达式分解:

  • \B
    :断言单词边界不存在的位置
  • :开始捕获组#1
    • [a-z](?=[a-z])
      :如果前面有大写字母,请匹配小写字母
    • |
      :或
    • [A-Z](?=[A-Z])
      :如果前面有小写字母,请匹配大写字母
  • :结束结账组#1

indexOf
不接受rgex,您可以使用
。像这样替换

您可以使用:

var repl = str.replace(/\B([a-z](?=[A-Z])|[A-Z](?=[a-z]))/g, '$1 ');

正则表达式分解:

  • \B
    :断言单词边界不存在的位置
  • :开始捕获组#1
    • [a-z](?=[a-z])
      :如果前面有大写字母,请匹配小写字母
    • |
      :或
    • [A-Z](?=[A-Z])
      :如果前面有小写字母,请匹配大写字母
  • :结束结账组#1

您的大写范围后没有
+
?使用.test()测试仍然没有成功…请删除您的否决票。谢谢
。replace
方法不接受正则表达式作为其替换参数。您的大写范围后没有
+
使用.test()测试仍然没有成功…请删除您的否决票。谢谢
。replace
方法不接受正则表达式作为其替换参数。这非常有效(已接受)…请向上投票,因为这是一个有效的问题。谢谢这非常有效(已接受)…请向上投票,因为这是一个有效的问题。谢谢