javascript - 在 JavaScript 中使用正则表达式从字符串中提取 Twitter 处理程序

标签 javascript regex

我想使用正则表达式从文本字符串中提取 Twitter 处理程序名称。我相信我已经快到了,除了我在输出中包含的“>”。如何更改我的正则表达式以使其更好,并从输出中删除“>”?

以下是文本字符串值的示例:

"<a href=\"https://twitter.com/PlaymakersZA\" target=\"_blank\">PlaymakersZA</a>, <a href=\"https://twitter.com/Absa\" target=\"_blank\">Absa</a>, <a href=\"https://twitter.com/DiepslootMTB\" target=\"_blank\">DiepslootMTB</a>"

所需的输出将是一个由以下内容组成的数组:

PlaymakersZA, Absa, DiepslootMTB

这是我的正则表达式的示例:

var array = str.match(/>[a-z-_]+/ig)

谢谢!

最佳答案

您可以在正则表达式中使用匹配组来指示您想要提取的部分。

我设置了这个JSFiddle来演示。

基本上,您将要提取的正则表达式部分括在括号中:/>([a-z-_]+)/ig,将其保存为对象,然后执行 .exec () 只要仍然存在值。使用结果数组中的索引 1,您可以找到第一个匹配组的结果。索引 0 是整个正则表达式,下一个索引将是后续匹配组(如果可用)。

var str = "<a href=\"https://twitter.com/PlaymakersZA\" target=\"_blank\">PlaymakersZA</a>, <a href=\"https://twitter.com/Absa\" target=\"_blank\">Absa</a>, <a href=\"https://twitter.com/DiepslootMTB\" target=\"_blank\">DiepslootMTB</a>";

var regex = />([a-z-_]+)/ig

var array = regex.exec(str);
while (array != null) {
  alert(array[1]);
  array = regex.exec(str);
}

关于javascript - 在 JavaScript 中使用正则表达式从字符串中提取 Twitter 处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42065577/

相关文章:

javascript - 通过验证条件将多个 json 文件中的数据打印到单个 html 表中

javascript - 第二个参数 applicationverifier 必须是 firebase.auth.applicationverifier 的实现

javascript - 使用正则表达式从字符串中提取数字

javascript - Async/Await 不等待响应,并返回 Promise 对象

javascript - 当按下光滑点时将事件类添加到外部按钮

javascript - 如何使用 html 标签中的 javascript 修改 type(ld+json) 值?

javascript - 我将如何编写一个匹配字符串后面的值(到下一个逗号)的正则表达式

java - 解析字符串中的值

java - 返回第一个括号中出现的单词的正则表达式

java - 如何匹配字符串中的1个字符