正则表达式中的正预览和负预览
在日常工作中,大多数IDE自己的搜索工作可以满足大多数需求。
有了常规匹配,就更好了。匹配电子邮件地址、电话号码等。有时候我们可能会遇到稍微特殊的场景。
Windows 1.03和Windows 2.0分别于1985年和1987年发布。Windows 95和Windows 98是继承者。然后出现了Windows 2000和Windows Xp Windows。Windows Vista是该系列的最新版本。
比如上一段,有几个场景
1.我们希望匹配Windows,后跟数字版本号和这些字符。例如Windows 1.03等。
等等?是Windwos(?[\d.] \b)如下图所示,这是直接匹配结果,匹配Windows 1.03、Windows 2.0、Windows 95、Windows 98、Windows 2000,但不匹配Windows Xp、Windows Vista等。
2.我们只想匹配满足这些条件的“窗口”,但不包括以下字符
使用(?=模式)即Windows(?=[\d.] \b)他也匹配Windows空间。这个过程就是正向匹配。
3.如果我想匹配这些窗口字段,它后面没有数字或版本号。我用它们来代替
(?模式)即Windows(?[\d.] \b)这个过程叫做正向匹配不满足(我觉得很好理解),它匹配的是后面没有满足模式的Windows([\ d .]\ b)。
4.我想把Windows和Windows前面的数字匹配起来。我们用(?=[\d]。)Windows这叫反向匹配(左箭头表示从右向左,便于记忆),他们把‘Windows’和Windows前面的一个或多个数字匹配起来。
如图,这里只匹配11旁边的Windows。
5.我想在窗口前匹配没有数字的窗口。我想匹配前面没有数字的Windows,这通常被称为反向不匹配。我称之为反向匹配不满足模式。
使用(?模式)关键字。
它匹配除11之后的窗口(不包括行首的窗口)之外的所有窗口。
至于零宽度的断言,我认为是学术性的,难以理解。我的理解是,零宽度意味着关键字前后正则表达式匹配的字符不会显示,也不会作为正则子查询使用。它只起到判断的作用。
摘要
以上是边肖介绍的正则表达式的正预览和负预览,希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!如果你觉得这篇文章对你有帮助,请转载,请注明出处,谢谢!
版权声明:正则表达式中的正预览和负预览是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。