微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则表达式 – 正则表达式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}.*$

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐