gpt4 book ai didi

regex - 如何在正则表达式中添加用户定义的字符串

转载 作者:行者123 更新时间:2023-12-01 03:28:26 25 4
gpt4 key购买 nike

嗨,我正在验证一个应该只接受 float 的文本框。我使用这个正则表达式

^(?:[1-9]\\d*|0)?(?:[.]\\d+)?$

来验证它。它按预期工作。现在我想在正则表达式中添加一个用户定义的字符串,这样它的含义就不会改变。有办法吗??

最佳答案

要验证输入是否为浮点数,在大多数情况下您不需要正则表达式,只需使用内置类来解析字符串输入,并检查一个字符串是否等于另一个字符串,使用相应的字符串方法。

如果您无法访问代码,您可以使用 alternation :

"^(?:(?:[1-9]\\d*|0)?(?:[.]\\d+)?|MY STRING)?$"
^^^ ^^^^^^^^^^^^

regex demo is here

简而言之:
  • ^ - 字符串的开头
  • (?: - 可选的非捕获组的开始
  • (?:[1-9]\d*|0)?(?:[.]\d+)? - 您之前的图案
  • | - 或
  • MY STRING - 文字 MY STRING子串
  • )? - 可选的结束(由于 ? )非捕获组
  • $ - 字符串结尾

  • MY STRING是一个应该被视为文字的用户输入变量,如果您可以访问代码,那么您应该考虑使用一些正则表达式转义方法来转义该字符串(在 Java 中,使用 Pattern.quote(user_str) )。

    关于regex - 如何在正则表达式中添加用户定义的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39889369/

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