簡體   English   中英

運行所有出現在方括號中的字符串中的內容的函數

[英]Run functions for all occurrences of content in string enclosed in square brackets

我有一個字符串。 數據來自文本區域,並且包含出現在方括號中的(各種)內容。

我想在方括號內的字符串內容上運行函數(例如,replace),然后更新原始字符串以反映所做的更改。

not this [potentially act on this token] not this [potentially act on this token] not this

我認為可能涉及以下方面,但我不知道如何實施可行的解決方案。 我不想使用jQuery或外部庫。

  • Match + RegEx這樣的東西
  • 指數。 如果僅靠RegEx無法完成,則可能獲得匹配的內容。
  • 對於每個。 由於方括號中包含了許多內容實例。

這是JSFiddle的起點。

如果有人可以提供任何幫助,我將非常感激。

非常感謝你。

嘗試這樣的事情...

var startEnd = user_input.match( /(\[.*?\])/g );

startend現在是一個帶括號的值的數組,您現在可以將它們用於搜索/替換。

因此,您的jsfiidle幾乎滿足了您的所有需求,除了replace函數可以接受回調。 此回調接收一個參數,它是匹配的字符串,並且您返回的任何內容都將替換為匹配項

user_input = user_input.replace(/\[.*\]/gi,function(match){
    return match + "foo";   
});

http://jsfiddle.net/fdtxvyo7/6/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM