dongzi1959 2013-05-15 09:37
浏览 224
已采纳

如果文本包含某些字符,则正则表达式不匹配

I'm trying to match a string containing certain characters, but not containing others. The problem is that if the string contains an allowed character, the expression finds a match, even though it contains invalid ones (nothing unusual, but not what I want).
The expression I'm using looks like this ([^abc][def])+.
So the question is: Can I define a group of characters, that if contained within the string, will stop the expression from matching the string?

  • 写回答

1条回答 默认 最新

  • drny20290570 2013-05-15 09:46
    关注

    You have to anchor your expression, to make sure no other characters are in the string. For example:

    ^[chars]+\z
    

    Or you can simply invert the character class and you will get a match if an invalid character is present:

    [^chars]
    

    If you want to combine such checks with other expressions in the same regex you could use a lookahead:

    ^(?=[chars]+\z)expression
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
  • ¥200 求博主教我搞定neo4j简易问答系统,有偿
  • ¥15 nginx的使用与作用
  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了
  • ¥15 数学建模数学建模需要