过滤#标记后返回一个字符串数组
Return an array of strings after filtering #tags
我想知道是否有人能为我提供一个JavaScript RegEx语句来过滤输入框中所有#标签中的文本。
场景:我有一个用户输入文本框,用户可以在其中输入多个#标签。我想做的是,在删除特殊字符后,将所有文本过滤掉并存储在一个数组中,并通过在数组上循环将其保存到数据库中。
示例:输入-#tag1、#tag2、#tag3…
输出:一个[标签1,标签2,标签3…]阵列
提前谢谢。。
简单使用:
/(#'w+)+/gmi
在您的正则表达式匹配列表中,您将拥有一个数组中的所有标记。此表达式仅支持字母、数字和下划线-如果要扩展或限制字符集,只需调整'w
即可。
下面是一个regex101:https://regex101.com/r/pJ8vA4/2
javascript看起来像:
var string = '#tag1, #tag2, #tag3 some other stuff #tag4';
var tags = string.match(/(#'w+)+/gmi);
tags = result.map(function(tag) { return tag.replace('#', '') });
console.log(tags);
这是一个回答问题的地方,而不是让别人让你编写代码的地方。但我还是会回答的。
('s?#[a-zA-Z0-9]+,?)+
-用可选的空格和可选的逗号分隔-确保修剪掉返回值开头和结尾的空白(循环时)-还删除哈希标记(修剪后的第一个字符)-示例链接https://regex101.com/r/rT2aC5/1
edit:也不包括特殊字符。如果您需要特殊修改,请告诉我,我会很快为您完成:)
var input = "#tag1, #tag2, #tag3";
var regex = new RegExp(/#('w+),?'s?/gi);
var match = null;
var results = [];
while (match = regex.exec(input)){
results.push(match[1]);
}
这将为您提供一个结果数组,该数组具有:["tag1"、"tag2"、"tag3"]
相关文章:
- NodeJS在一个较大的字符串中获取一个字符串的索引
- Javascript:用while循环在给定的count参数中重复一个字符串
- 如何使用另一个字符串作为模板从字符串中提取数据
- 如何检查一个字符串的所有字符是否都存在于另一个字符串中
- 从表单中动态生成一个字符串,传递给通过AJAX加载的PHP文件
- 我可以使用JS一次使用JSON数组中的一个字符串吗
- 将字符串转换为数组使用javascript更新一个值并返回一个字符串
- 如何在JavaScript中每隔第n个字符分割一个字符串
- 我需要使用什么语法来向一个对象的成员添加一个临时数组,该成员等同于一个字符串的通用列表
- 使用Jquery从所有元素创建一个字符串
- 在Javascript中截断一个字符串,混淆了最后两个测试字符串
- Javascript使用本地存储,回调对象并用Json更改为一个字符串以用于填充函数
- 将一个字符串数组解析为一个新的数组javascript
- 我可以在两个javascript文件之间传递一个字符串吗?
- 如何拆分一个字符串,然后将它们与另一个字符串匹配
- get没有方法“writefile”,即使输入是一个字符串
- 将 url 中的一个字符串替换为另一个字符串
- 如何在 javascript 中使用正则表达式在其他两个字符串之间找到一个字符串
- “JSON.parse(str)”返回“意外令牌c”,但str是一个字符串
- 递归查找嵌套数组中的最后一个字符串