具有正前瞻/后瞻的正则表达式

luc*_*ano 2 regex

如何使用单个正则表达式匹配以下所有字符串?

这是我尝试过的正则表达式:(?<=.+)site(?=.+)

请注意,更简单的正则表达式可能可以完成这项工作,但重点是了解正则表达式的(?<=.+)和部分的作用。(?=.+)

locationAsite1
locationAsiteNumber1
locationAsiteNumber01
locationAsite01
locationBsite.01
locationB.site.02
(locationB)site.02
<locationB>site<03>s
..locationB..site<03>
Run Code Online (Sandbox Code Playgroud)

Avi*_*Raj 5

你的正则表达式也可以写成,

(?<=.)site(?=.)
Run Code Online (Sandbox Code Playgroud)

这意味着该字符串site前后必须至少有一个字符。

除了家族之外,大多数语言不支持可变长度后向查找C#

(?<=.+)site(?=.+)
Run Code Online (Sandbox Code Playgroud)

表示子字符串site前后必须有一个或多个字符。也就是说,site只有当字符串位于中间时,它才会匹配字符串,而不是出现在开头或结尾时。