正则表达式以 @ 符号开头
Regular Expression starts with @ symbol
在正则表达式中,如何查找以@symbol开头的匹配项?符号不能位于单词中间(电子邮件地址中的链接)。
例如,如下所示的字符串:
@someone's email is blah@gmail.com and @someoneelse wants to send an email.
我会使用的表达式是/^@['w]/g
它应该返回:
@someone's
@someoneelse
我使用的表达式似乎不起作用。
您可以使用'B
,这是一个非单词边界,是'b
的否定版本。
var s = "@someone's email is blah@gmail.com and @someoneelse wants to send an email.",
r = s.match(/'B@'S+/g);
console.log(r); //=> [ '@someone''s', '@someoneelse' ]
如果你使用的是JavaScript,你可以使用lodash。
来自JavaScript的单词函数需要两个参数,第一个参数用于句子,第二个参数是可选的。您可以传递正则表达式,它将找到带有起始字母"@"的单词。
import _ from "lodash";
_.words(sentence, /'B@'S+/g);
/(^|'s)@'w+/g
['w]
只匹配一个单词字符,所以这就是为什么你的正则表达式只返回@s
。 'w+
将匹配 1 个或多个单词字符。
如果要在行首或字符串内获取单词,可以使用捕获组(^|'s)
该组执行字符串开头或空格字符后的单词。
演示
var str="@someone's email is blah@gmail.com and @someoneelse wants to send an email.";
console.log(str.match(/(^|'s)@'w+/g)); //["@someone", " @someoneelse"]
相关文章:
- 对id以某个字符串开头的元素进行计数
- 如果元素's的ID以数字开头
- 在.csv文件中写入学位符号
- 使用相同的数据集绘制各种符号
- 将带点符号的属性(有时)传递给函数
- RegEx JavaScript:数字后的符号提取
- 如何在计算器符号为零时替换它
- 删除输入中输入的符号
- 如何创建开头插入符号和结尾带有锚点的选择
- JavaScript:将插入符号位置设置为第一段的开头(Opera bug)
- 正则表达式以 @ 符号开头
- 比较字符串是否以符号 @ jquery 或 javascript 开头
- 当将 JavaScript 与 Webpack 捆绑在一起时,require/import URL 开头的 @ 符号是什
- RegEx匹配字符串开头的符号,或字符串本身的开头
- 将以符号开头的字符串替换n次
- 如何删除字符串开头和结尾的符号,但某些符号除外
- Javascript:获取以@符号开头的用户名子字符串
- 如何从字符串的开头和结尾删除所有符号(如果有的话)?
- 查找所有以@符号开头的单词
- 为什么这个regex替换会在开头删除一个符号,而不是在结尾