Regex 我如何找到一个角色并向前和向后看?
我正在尝试使用Notepad++中的正则表达式替换字符串。数据大致如下所示。有些联系人没有姓氏,有些联系人没有名字。所有联系人都用分号(;)分隔,并且都有一个以尖括号结尾的电子邮件地址Regex 我如何找到一个角色并向前和向后看?,regex,notepad++,Regex,Notepad++,我正在尝试使用Notepad++中的正则表达式替换字符串。数据大致如下所示。有些联系人没有姓氏,有些联系人没有名字。所有联系人都用分号(;)分隔,并且都有一个以尖括号结尾的电子邮件地址 LastName, FirstName - Unit <first.last@SomeDomain.com>; LastName, FirstName - Unit <first.last@SomeDomain.com>; LastName, FirstName - Unit <fi
LastName, FirstName - Unit <first.last@SomeDomain.com>; LastName, FirstName - Unit <first.last@SomeDomain.com>; LastName, FirstName - Unit <first.last@SomeDomain.com>; FirstName - Unit <first.last@SomeDomain.com>; FirstName <first.last@SomeDomain.com>; LastName, FirstName - Unit <first.last@SomeDomain.com>; LastName - Unit <first.last@SomeDomain.com>; LastName, FirstName - Unit <first.last@SomeDomain.com>;
LastName,FirstName-单位;姓氏,姓氏-单位;姓氏,姓氏-单位;名字-单位;名字;姓氏,姓氏-单位;姓氏-单位;姓氏,姓氏-单位;
我如何匹配电子邮件中的@符号,然后回首查找开始角括号,然后向前查找结束角括号?我正在使用Notepad++将电子邮件地址替换为字符串,如“XXX”。您可以使用它捕获所有电子邮件
]*>
它匹配开始括号和字符,直到找到结束括号,然后再匹配
如果要从匹配中排除括号,可以使用以下选项:
您可以使用来捕获所有电子邮件
]*>
它匹配开始括号和字符,直到找到结束括号,然后再匹配
如果要从匹配中排除括号,可以使用以下选项:
对于给定的示例,您可以使用正向和正向前瞻来断言左侧和右侧的内容是
要匹配电子邮件部分,请使用否定以匹配非开头括号[^]+
要匹配,包括开始括号和结束括号以及分号,可以使用:
对于给定的示例,您可以使用正向和正向前瞻来断言左侧和右侧的内容是
要匹配电子邮件部分,请使用否定以匹配非开头括号[^]+
要匹配,包括开始括号和结束括号以及分号,可以使用:
使用以下正则表达式:
[^<]+@[^>]+
[^]+
如果您确定名字和姓氏不包含@和尖括号,那么上面的正则表达式就可以了。它节省了lookaheads和lookbehinds造成的性能开销。使用以下正则表达式:
[^<]+@[^>]+
[^]+
如果您确定名字和姓氏不包含@和尖括号,那么上面的正则表达式就可以了。它节省了lookaheads和lookbehinds造成的性能开销。一个非常快速和精确的解决方法是:
<[^@\s<>]+@[^@\s<>]+>;
;
看
细分:
或以外的任何内容代码>匹配a
后面的闭合角括号代码>
- 一个非常快速和精确的解决方法是:
<[^@\s<>]+@[^@\s<>]+>;
;
看
细分:
或以外的任何内容代码>匹配a
后面的闭合角括号代码>
@
符号。这是真的。我想可能还有其他字段被
封装,如果他们只是想用“xxx”替换电子邮件,那么这似乎是不必要的。尽管如此,如果他们想分别跟踪first.last和domain,这可能会很有用。@emsimpson92获取正确的当前示例数据。但这可能是一个更大的数据集的一部分,它是关于一个电子邮件地址的,所以我的建议是匹配一个@
符号。这是真的。我想当我们讨论性能问题时,
可能会封装其他字段,这需要3287个步骤来匹配<代码>(?)需要487,而]*>
需要32。第四只鸟的解决方案需要791。替换一个字符串中的所有电子邮件需要多长时间?(我已经检查过了,[^]+
速度更快)]*>
速度最快,但它与尖括号匹配。我将[^]+
与不匹配方括号的正则表达式进行比较<代码>(?)需要487,而]*>
需要32。第四只鸟的解决方案需要791。替换一个字符串中的所有电子邮件需要多长时间?(我已经检查过了,[^]+
速度更快)]*>
速度最快,但它与尖括号匹配。我将[^]+
与不匹配括号的正则表达式进行比较。