gpt4 book ai didi

java - 正则表达式 Java 差异

转载 作者:行者123 更新时间:2023-12-02 07:53:46 27 4
gpt4 key购买 nike

我需要使用 reqex 验证密码。我写了一个并在这个检查器中测试了它并且它有效: http://www.nvcc.edu/home/drodgers/ceu/resources/test_regexp.asp

但是当我将它添加到我的 Java 应用程序时,它失败了。

正则表达式检查器中的正则表达式:(\D+)(\d+)(\D+)(.*)

java中的正则表达式:(\\D+)(\\d+)(\\D+)(.*)

测试字符串:1Hello2

这在在线检查器中通过,但在 Java 中失败。

有谁知道为什么吗?

我希望正则表达式能够匹配中间有数字的任何密码(也可以在开头和结尾包含数字)。

我需要2个单独的正则表达式:一个匹配中间的数字(pass1word或1pass1word或1pass1word),还有一个匹配开头或结尾的数字的正则表达式(1password或password1 NOT pass1word1,因为它属于字符串类别) .

最佳答案

您的正则表达式要求:

  1. 非数字(1 次或多次)\D+<​​/li>
  2. 1 位或更多数字
  3. 一个或多个非数字\D+
  4. 任意字符出现 0 次或多次。

您的示例包含

  1. 1 位数字
  2. 5 个非数字
  3. 1 位数字

我认为很明显它与正则表达式不匹配:第一个元素\D+ 失败,因为数字出现在开头。

关于java - 正则表达式 Java 差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9908970/

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