使用javascript查找字符的最后一次出现

科里

我想知道以哪种方式可以从那段代码中获取“ widget”表达式:

blablablalbadsj kds {{widget type="Magento\FooBard\Block\Widget\Script" wysywig_text="<img src='{{media url='wysiwyg/something.png'}}' alt='' />"}} ksakkdkkcxz {{media url='wysiwyg/something2.png'}}

最后,我想拥有:

{{widget type="Magento\FooBard\Block\Widget\Script" wysywig_text="<img src='{{media url='wysiwyg/something.png'}}' alt='' />"}}

我一直在考虑这个问题,并且有这样的正则表达式:

/\{\{widget(.*?)\}}/

但这是行不通的,它只是匹配:

{{widget type="Bold\Gtm\Block\Widget\Script" wysywig_text="<img src='{{media url='wysiwyg/compare_brightness.png'}}

没有:alt =“''/>”

弗拉德·伊努特(Vlad Ionut)

我的建议是不要为此使用Regexps,因为该字符串不是常规字符串。因此,尝试使用正则表达式进行解析将非常困难。

var str =`blablablalbadsj kds {{widget type="Magento\FooBard\Block\Widget\Script" wysywig_text="<img src='{{media url='wysiwyg/something.png'}}' alt='' />"}} ksakkdkkcxz {{media url='wysiwyg/something2.png'}}`

var startWdigetPos = str.indexOf("{{widget"),endWidgetPost = 0;
const regex = /{{|}}/mg;


var openedTags=0;
var closedTags=0;
while ((m = regex.exec(str.substr(startWdigetPos))) !== null) {
      // This is necessary to avoid infinite loops with zero-width matches
    if (m.index === regex.lastIndex) {
        regex.lastIndex++;
    }
    
    if (m[0]=="{{"){
      openedTags++;
    }else if (m[0]="}}"){
      closedTags++;
      
    }
    if (openedTags === closedTags){
     endWidgetPost = regex.lastIndex ;
     break;
    }
    
}
if (endWidgetPost){
  console.log(str.substr(startWdigetPos,endWidgetPost));
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

查找字符串的最后一次出现

查找字符串最后一次出现之前的出现索引

查找字符串Python中字符的最后一次出现

C ++在子字符串中查找字符串的最后一次出现

查找字符串中子字符串的最后一次出现,将其替换

查找字符串中子字符串的最后一次出现,将其替换

MYSQL:查找字符串中字符的最后一次出现

在Windows命令行上使用findstr查找字符串的最后一次出现

在多个文件中查找字符串的最后一次出现

SSIS Expression Builder-如何查找字符的最后一次出现

VBA查找字符串的最后一次出现

如何查找字符串的最后一次出现?

在Python中查找字符串中多个字符的最后一次出现

正则表达式查找字符串中最后一次出现模式的值

正则表达式查找字符串中模式的最后一次出现

在给定范围内查找字符最后一次出现的最有效方法

在Python中最后一次出现给定字符之后,最简单的查找字符串字符的方法是什么?

使用Kotlin查找数组中最后一次出现的字符串

如何使用FindLast()查找元素的最后一次出现

Javascript字符串替换最后一次出现

使用sed替换字符的最后一次出现

使用BinarySearch查找元素的第一次和最后一次出现

使用javascript replace()来匹配字符串的最后一次出现

如何使用JavaScript RegExp替换字符串的最后一次出现

正则表达式在 URL 中查找字符串的唯一第一次出现

在 C 中查找句子中字符串的最后一次出现

查找文件中字符串的最后一次出现

正则表达式,用于查找从字符的最后一次出现到数字或[

参考文件中的列查找csv文件中字符串的最后一次出现