簡體   English   中英

正則表達式提取多個值

[英]Regular Expression Extract Multiple Values

/[.#]\\s*([^{\\s]*)\\s*{/將獲取#或之間的文本。 和{。 我正在嘗試提取#或之間的文本。 和{以及{和}之間的文本。 我相信它將類似於波紋管這樣的表達。

var productText = '#id {} .class {}';
var m, r = /([.#]\s*([^{\s]*)\s*{)(([^{]*)}/)/g;

您可以使用此正則表達式獲取#和{}之間的部分

^\#(\S+\s+)\{\}.*

注意:我只在Perl中嘗試過正則表達式。 另外,對於正則表達式的其余部分,我只輸入。*而不提取它。

String.split通常更易於用於提取,甚至清理助手也很有用:

var productText = '#id {123} .class {456}';
var m, r = /(:?[.#])([\w\W]+?)\s*\{([\w\W]+?)\s*\}/g;

productText.split(r).slice(2,-1).filter(/./.test, /\w/)
// output array: ["id", "123", "class", "456"]

暫無
暫無

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

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