我寻找这些表达的意思,但不能理解它们之间的确切区别。
他们是这么说的:
?:
匹配表达式,但不捕获它。?!
。我尝试在简单的正则表达式中使用它们,得到了类似的结果。
例如: 下面3个表达式给出了非常相似的结果。
[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+(?!\.[a-zA-Z0-9]+)*
[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+(?=\.[a-zA-Z0-9]+)*
[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9]+)*