所以,我正在编写一个谷歌脚本,并且我一直在使用regex101工具对其进行故障排除,但我绝对没有运气。
这是我需要的正则表达式: JS中有没有办法隔离" randomstuff"来自" myemail+randomstuff@gmail.com"没有在返回的结果中包含+或@?
我已尝试使用我更有限的正则表达式技能来完成此操作,但最终结果始终包括' +'和' @'。
答案 0 :(得分:1)
您可以将match function
与已捕获的群组一起使用
matched = "myemail+randomstuff@gmail.com".match(/\+(.*?)@/);
matched[1]
// Outputs
// randomstuff
\+
匹配+
(.*?)
匹配第1组中捕获的任何内容
@
匹配@
matched[1]
match
将返回包含匹配结果的数组。数组的竞争对象将是正则表达式匹配中捕获的组(由捕获组编号索引。这里组是一个,因此我们使用matched[1]
)和整个匹配(索引为0)< / p>
答案 1 :(得分:0)
我使用了这个正则表达式http://regexr.com/3b1fa
这是一个小提琴:http://jsfiddle.net/rt4h215g/
/\w+(?=@)/g
(?=@)
使用正面向前检查并查看@符号何时出现而不包括在匹配中。由于 + 不被视为单词字符,因此您只需使用/ w +来获取 @ 符号之前和 + 之后的字符。
答案 2 :(得分:0)
var originalString = "myemail+randomstuff@gmail.com";
/\+([^@]+)@/.exec(originalString )[1];
这将返回
&#34; randomstuff&#34;