gpt4 book ai didi

regex - 如果否则失败的正则表达式

转载 作者:行者123 更新时间:2023-12-01 07:47:38 25 4
gpt4 key购买 nike

我想编写一个正则表达式来查找单词是否为 3 个字符长度,但前面的 m_ 是可选的。在这种情况下,m_ 后跟至少 3 个字符是必需的。

基本上我要匹配

Abcm_abc 并且不匹配 abm_ac

(^(m_))?([a-zA-Z0-9_]{3,})|(^[a-zA-Z0-9_]{3,}$)

我尝试了一个 if 循环,但它也匹配文本 m_a。你能帮我看看我在这里缺少什么吗

也许我的正则表达式写错了。我想要类似的东西如果(m_找到) “后面需要 3 个字符”别的 "看字符总数是否为 3"

谢谢。

最佳答案

你可以使用这个正则表达式,它要么在开始时要求 m_ 要么禁止它(通过否定先行):

^(m_|(?!m_))\w{3,}$

参见 regex tester

如果否定的 look-head 不是您可以使用的功能,那么您可以使用这个更复杂的正则表达式,它通过前两个字符的不同选项:

^(m_\w{3,}|m[A-Za-z0-9]\w+|[A-Za-ln-z0-9]\w{2,})$

参见 regex tester

关于regex - 如果否则失败的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38903937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com