Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.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 - Fatal编程技术网

Javascript 需要高级正则表达式帮助

Javascript 需要高级正则表达式帮助,javascript,regex,Javascript,Regex,我有一个不寻常的要求,用正则表达式替换字符串。。。请容忍我 我有一个输入字符串 输入 这里没有碰过的东西 。。。我想替换字符串的一部分,所以输出结果如下 输出 这里没有碰过的东西 某些类可以是任何类,因此我需要匹配并替换该部分的任意一侧,即类名 另外,表示我也不想接触的任何其他html 到目前为止,我已经有了下面的内容,但它并不完全正确,因为它还与周围的相匹配 正则表达式 \Regex:/([\s\s]*)\s*/ ([\s\s]*)捕获组2:任何类型的字符(空白或非空白)都不能

我有一个不寻常的要求,用正则表达式替换字符串。。。请容忍我

我有一个输入字符串

输入

这里没有碰过的东西

。。。我想替换字符串的一部分,所以输出结果如下

输出

这里没有碰过的东西

某些类可以是任何类,因此我需要匹配并替换该部分的任意一侧,即类名

另外,

表示我也不想接触的任何其他html

到目前为止,我已经有了下面的内容,但它并不完全正确,因为它还与

周围的
相匹配

正则表达式
\Regex:
/([\s\s]*)\s*/

  • ([\s\s]*)
    捕获组2:任何类型的字符(空白或非空白)都不能再增加
  • 匹配
  • \s*
    匹配零个或多个空白字符
  • let str=`
    这里没有碰过的东西
    
    `; 让正则表达式=/([\s\s]*)\s*/;
    log(str.replace(regex,'\n$2'))我希望以下内容能帮助您:

  • 匹配项}>

  • )抱歉我错过了关于我的问题的两个重要部分

    • 输入实际上将有多个节标记
    • 类名是一个枚举,因此它将位于花括号内
    enum CLASS_A=“CLASS-A”
    枚举CLASS_B=“CLASS-B”
    
    输入
    
    这里没有碰过的东西
    
    这里没有碰过的东西
    我引用了以上两种解决方案,多亏了@Booboo和@wp78de,通过一些小的调整,下面的正则表达式似乎解决了这个问题

    如果有更整洁的方式,请分享

    /]*)\}>([\s\s]*?)\s*/gm
    
    输出
    
    这里没有碰过的东西
    
    这里没有碰过的东西

    如果未触及的内容不包含嵌套的节标记,这可能就足够了。您可能希望了解应用于HTML/XML时正则表达式的限制。是否可以嵌套
    s?如果是这样的话,它们是否可以进行深度嵌套?除了
    className
    ,它们还能有其他属性吗?不是我投了反对票,但我可能投了反对票,因为这里非常不赞成只使用链接的答案。我在那里也放了一堆代码。Js不是我的母语,但我认为这应该可以。恐怕只使用代码的答案也不受欢迎。一个好的答案通常会有一些有用的代码,但应该总是有一些解释性的文本来说明您的技术如何以及为什么能够解决问题。