正则表达式 – 正则表达式Postive Lookahead子串

我对正则表达式相当新,我越来越多地使用它们,我越喜欢它们.我正在处理必须满足以下条件的正则表达式:

>必须以Alpha字符开头
>在接下来的三个字符中,至少有一个必须是Alpha字符.
>前四个字符后的任何内容都是自动匹配.

我目前有以下正则表达式:^ [a-zA-Z](?=.* [a-zA-Z]).{1}.* $

我遇到的问题是我的正向前瞻(?=.* [a-zA-Z]).{1}不限制在alpha字符后面的下三个字符.

我觉得好像我在这里错过了一个概念.我在这个表达中错过了什么?

谢谢大家.

解决方法

前瞻中的.*就是这么做的.你应该在这里限制范围

^[a-zA-Z](?=.{0,2}[a-zA-Z]).{1}.*$

编辑:如果你想确保字符串中至少有4个字符,你可以使用另一个这样的前瞻:

^[a-zA-Z](?=.{3})(?=.{0,2}[a-zA-Z]).{1}.*$

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...