javascript - 如何使用正则表达式 (RegEx) 提取文本?

标签 javascript regex

我需要一些有关 JavaScript 正则表达式的帮助。

我有以下字符串。

var str = "SOme TEXT #extract1$ Some more text #extract2$ much more text #extract3$ some junk";

我想将 #$ 之间的所有文本提取到一个数组或对象中。

最终输出为:

var result = [extract1,extract2,extract3]

extract1、extract2、extract3 可以包含任何字符,例如 _,@,&,*

最佳答案

您可以使用 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

关于javascript - 如何使用正则表达式 (RegEx) 提取文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5814210/

相关文章:

javascript - 无法清除临时存储

java - 拆分重复文本而不使用分隔符?

javascript - 无法使用 javascript 替换和正则表达式删除 "C:\fakepath\"

java - 正则表达式匹配 2 个或更多逗号

regex - mongodb 不能将 $and 与 String 一起使用

javascript - 如何迭代具有未知键的对象中的数组

javascript - 如何使用 HTML5、JS 或 Angular 验证 Ionic 中的电子邮件?

javascript - Parse.Object.fetchAll 抛出意外错误

Javascript 信用卡过期验证

ruby - 如何在 Ruby 中使用正则表达式从文本中提取地址