(?=exp)零宽度正先行断言

零宽度正先行断言 为例: "先行"表示待校验的位置在前,即校验的位置在exp匹配的内容之前:

(?=\d{3})表示校验的位置后面是三个数字;

(?=\d+) 表示校验的位置后接着的是数字;

(?=^.{5}$)表示校验的位置后字符串长度为5,因为加了字符串开头和结尾的元符号,所以这个表达式作用其实就是匹配长度为5的字符串。

由上面例子可以看出,断言的作用就是指定一个位置,该位置的前后内容需要满足exp规则。

(?!exp)表示校验位置之后的内容不匹配exp规

(?!.*\d{3}.*)表示校验位置之后的内容中不包含三个连续的数字。这个表达式的作用其实就是筛选出不包含三个连续数字的字符串。

(?<=exp)表示校验位置之前的内容匹配exp规则

(?<=\d{3})表示校验位置前有三个连续的数字。这个表达式作用是匹配三个连续数字后面的内容。

(?<!exp)表示校验位置之前的内容不匹配exp规则

(?<!\d{2})表示校验位置前不是两个数字。这个表达式作用就是匹配字符串部分内容,这部分内容前不是两个连续的数字。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-17
  • 2021-12-17
  • 2021-06-23
猜你喜欢
  • 2022-12-23
  • 2021-12-20
  • 2021-09-14
  • 2022-03-10
  • 2021-11-12
  • 2021-10-20
  • 2022-12-23
相关资源
相似解决方案