【发布时间】:2018-09-21 06:24:41
【问题描述】:
我想捕获捕获组中的第一个和最后一个字符。
我目前的正则表达式是 -
([\w\.]+)@([\w]+)\.com
例如,如果有一个电子邮件地址 -
xyz@test.com
这是输出 -
Full match 0-12 `xyz@test.com`
Group 1. 0-3 `xyz`
Group 2. 4-8 `test`
电子邮件地址可以包含字母数字和句点值。
如果我想缩减第 1 组,使其仅以字母数字值开头和结尾,该怎么做?
我要修改这个捕获组 -
([\w\.]+)
所需的输出是 -
xyz.@test.com Invalid
.xyz@test.com Invalid
xy.z@test.com Valid
【问题讨论】:
-
试试
^(\w+(?:\.+\w+)*)@([\w]+)\.com$。在此处查看现场演示regex101.com/r/KyUDuQ/1 -
另请注意,
[\w]+可以简化为\w+- 那里不需要字符集。 -
@"^\b[\w.]+\b@\w+\.com"$也可以。