[英]How to extract text using Regular expression (RegEx)?
我需要一些關於 JavaScript 中的正則表達式的幫助。
我有以下字符串。
var str = "SOme TEXT #extract1$ Some more text #extract2$ much more text #extract3$ some junk";
我想將#
和$
之間的所有文本提取到一個數組或 object 中。
最終 output 將是:
var result = [extract1,extract2,extract3]
extract1、extract2、extract3 可以包含任何字符,如_,@,&,*
正則表達式對你來說就像#(?<extract>[\s\S]*?)\$
命名組“提取”將包含您想要的值。
正如 Alex 所說,如果 javascript 不支持命名組,我們可以使用編號組。 所以修改后的正則表達式將是#([\s\S]*?)\$
並且所需的值將在組號 1 中。
您可以使用 JavaScript 正則表達式的 exec 方法。
var regex = /\#([^\$]+)\$/g,
match_arr,
result = [],
str = "some #extract1$ more #extract2$ text #extract3$ some junk";
while ((match_arr = regex.exec(str)) != null)
{
result.push(match_arr[1]);
}
console.log(result);
參考: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp/exec
var matches = str.match(/#(.+?)\$/gi);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.