【问题标题】:Regular expression not working, what does ?=. mean正则表达式不起作用,什么?=。意思是
【发布时间】:2015-07-24 05:12:33
【问题描述】:

嗨,我是使用正则表达式的初学者,我有一个用于电子邮件的正则表达式,因为我从其他来源复制了它

(?=.[@])

它不工作我想测试不同的组合,所以我试图只匹配输入字段的@值但不工作。 如果我将相同的数值写入密码字段中的数值

((?=.[0-9]+).{6,})

***注意:***由于我正在练习不同方法的应用并试图对正则表达式有一个清晰的了解,请忽略常见的道德规范,例如我选择的密码正则表达式。

此外,我想知道为什么?=. 在模式之前使用

提前致谢

【问题讨论】:

  • ?=。是积极的前瞻
  • 谢谢@samgak 能否提供一些参考资料以了解正则表达式的用法
  • 您可以使用它来测试正则表达式:regexr.com 您可以粘贴正则表达式,然后将鼠标悬停在每个部分上以查看其作用。备忘单部分也给出了很好的总结。

标签: regex


【解决方案1】:

试试这个:Email validation using regular expression in JSF 2 / PrimeFaces

[\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]

【讨论】:

    【解决方案2】:

    你当前的正则表达式没有按照你的想法做:

    电子邮件:

    (?=.[@])
    <!-- matches a single character followed by @, e.g. a@ -->
    

    密码:

    ((?=.[0-9]+).{6,})
    <!-- matches a single character followed by at least 5 digits, e.g. a12345 -->
    

    您可以尝试将其用于电子邮件:(?=.*[@].*\..*)
    这是密码:((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})

    【讨论】:

    • 谢谢@Tim 你能给我任何参考资料来了解正则表达式的使用
    猜你喜欢
    • 2012-06-10
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 2011-06-15
    • 2012-05-07
    • 2015-07-23
    • 2012-09-07
    • 1970-01-01
    相关资源
    最近更新 更多