\w 也匹配数字吗?
Does \w also match numbers?
我希望这个
var r = new RegExp('\s\@[0-9a-z]+\s', 'gi');
应用于这个字符串
1 @bar @foo2 * 112
会给我
1 * 112
bit 而不是它导致
1 2 * 112
所以看起来 @[0-9a-z]+
与号码不匹配。
肯定是我弄错了,但我不知道是什么。
这是在 javascript - Firefox 49.0
是的,\w
匹配拉丁数字。 \w == [A-Za-z0-9_]
假设您要删除 @fooX
,您可以使用:
console.log("1 @bar @foo2 * 112".replace(/\s@\w+/g, ""));
"\w" 匹配任何单词字符(字母数字和下划线)。仅匹配低位 ASCII 字符(无重音字符或非罗马字符)。相当于 [A-Za-z0-9_]
最佳学习来源:www.regexr.com
我很快就安装好了,应该可以满足您的要求。
var string = "1 @bar @foo2 * 112";
var matches = string.replace(/\s@\w+/gi,"");
console.log(matches)
我无法用那个正则表达式重现你的结果,但我确实发现最后的 \s 会停止匹配@foo2。
var value = "1 @bar @foo2 * 112";
var matches = value.match(
new RegExp("\s\@[0-9a-z]+\s", "gi")
);
console.log(matches)
这是因为正则表达式无法匹配 @foo 前面的 space,这是匹配的一部分。希望这段代码能解决您的问题。
我希望这个
var r = new RegExp('\s\@[0-9a-z]+\s', 'gi');
应用于这个字符串
1 @bar @foo2 * 112
会给我
1 * 112
bit 而不是它导致
1 2 * 112
所以看起来 @[0-9a-z]+
与号码不匹配。
肯定是我弄错了,但我不知道是什么。
这是在 javascript - Firefox 49.0
是的,\w
匹配拉丁数字。 \w == [A-Za-z0-9_]
假设您要删除 @fooX
,您可以使用:
console.log("1 @bar @foo2 * 112".replace(/\s@\w+/g, ""));
"\w" 匹配任何单词字符(字母数字和下划线)。仅匹配低位 ASCII 字符(无重音字符或非罗马字符)。相当于 [A-Za-z0-9_] 最佳学习来源:www.regexr.com
我很快就安装好了,应该可以满足您的要求。
var string = "1 @bar @foo2 * 112";
var matches = string.replace(/\s@\w+/gi,"");
console.log(matches)
我无法用那个正则表达式重现你的结果,但我确实发现最后的 \s 会停止匹配@foo2。
var value = "1 @bar @foo2 * 112";
var matches = value.match(
new RegExp("\s\@[0-9a-z]+\s", "gi")
);
console.log(matches)
这是因为正则表达式无法匹配 @foo 前面的 space,这是匹配的一部分。希望这段代码能解决您的问题。