Java正则表达式验证

标签 java regex

我需要制作一个与第一个槽“char(0)”上的 a 或 c 匹配的正则表达式 但我只知道如何从A-Z使用

   string.matches(("^[A-C]{3}$")) //this includes B, i dont want this to happen

我可以添加字符串吗?或者一个 char 变量?代替a和c?喜欢

  "[+ char +]"

最佳答案

当您在字符类表达式中使用 - 时,您可以使用第一个字符、最后一个字符以及中间的所有字符。因此,A-C 表示 'A''B''C'。如果您需要 'A''C',请改用 [AC]:

string.matches(("^[AC]{3}$"))

Can I add a String or a char variable?

是的,如果您遵守字符类表达式的一般规则:

  • 如果您的字符串中有-^,请将它们放在后面
  • 如果 String 中有 ]\ 字符,请在它们前面添加转义字符。

假设你的字符串中没有特殊字符,你可以这样做

String str = "ac";
string.matches(("^[" + str + "]{3}$"))

关于Java正则表达式验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26490670/

相关文章:

java - 获取 XML 标签的 XPath

javascript - 从 JavaScript 字符串中获取/捕获所有变量名和值

java - 如何限制正则表达式中字符的出现?

javascript - 提取中的 Imacros Javascript Eval 删除部分文本

java - 使用 Processing 在 Android 中保存现有的 CSV 文件

java - 使用java将对象数组复制到另一个数组

java - 如何对 Maven 多模块 Spring 应用程序进行单元测试?

php - 正则表达式捕获第一个可选字符串之前的所有内容

Java 正则表达式积极向前看但只匹配唯一字符?

java - 覆盖 - 参数差异