我正在尝试检测文本 block (来自文本区域)是否包含以@sign 为前缀的单词。
例如在下面的文本中:嘿@John,我刚看到@Smith
它会在没有@符号的情况下分别检测到John和Smith。我认为这样的事情会起作用:
@\w\w+
我的问题是如何让 javascript 过滤文本,假设它存储在变量注释中?
它应该只输出文本中以@ 为前缀而不带@ 符号的名称。
问候。
最佳答案
您使用 g
(全局)标志、一个捕获组和一个循环调用 RegExp#exec
,像这样:
var str = "Hi there @john, it's @mary, my email is mary@example.com.";
var re = /\B@(\w+)/g;
var m;
for (m = re.exec(str); m; m = re.exec(str)) {
console.log("Found: " + m[1]);
}
输出:
Found: john Found: mary
感谢@Alex K 的边界推荐!
关于javascript - Javascript 中用于检查@符号的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11000330/