正则表达式仅匹配字母和数字

皮拉尔·加西亚(Pilar Garcia)

您可以提供此代码帮助吗?

看起来很简单,但总是失败。

@Test
public void normalizeString(){
    StringBuilder ret =  new StringBuilder();
    //Matcher matches = Pattern.compile( "([A-Z0-9])" ).matcher("P-12345678-P");
    Matcher matches = Pattern.compile( "([\\w])" ).matcher("P-12345678-P");
    for (int i = 1; i < matches.groupCount(); i++)
        ret.append(matches.group(i));

    assertEquals("P12345678P", ret.toString());
}
约翰·布林格

构造aMatcher不会自动执行任何匹配。这部分是因为Matcher支持两种不同的匹配行为,不同之处在于匹配是否隐式锚定到区域的开头Matcher看来您可以达到所需的结果,如下所示:

@Test
public void normalizeString(){
    StringBuilder ret =  new StringBuilder();
    Matcher matches = Pattern.compile( "[A-Z0-9]+" ).matcher("P-12345678-P");

    while (matches.find()) {
        ret.append(matches.group());
    }

    assertEquals("P12345678P", ret.toString());
}

特别要注意的调用Matcher.find(),这是您的版本中的一个关键遗漏。此外,无效值会Matcher.group()返回与last匹配的子字符串find()

此外,尽管您对的使用Matcher.groupCount()并不完全错误,但确实使我怀疑您对它的用途有错误的认识。特别是,在您的代码中它将始终返回1-它查询模式,而不是与其匹配的内容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式以验证信息(仅字母和数字)

来自分类Dev

正则表达式-字母和数字之间的交替

来自分类Dev

组合正则表达式字母和数字

来自分类Dev

正则表达式以匹配所有字母数字和数学运算符

来自分类Dev

正则表达式以匹配所有字母数字和数学运算符

来自分类Dev

正则表达式匹配“ / 24af786e”字母和数字

来自分类Dev

正则表达式只匹配几个字母和数字

来自分类Dev

正则表达式匹配带有符号的字母和数字

来自分类Dev

将匹配不以“km”结尾的字母和数字组合的正则表达式

来自分类Dev

正则表达式-仅匹配unicode字母而不匹配数字

来自分类Dev

正则表达式-仅匹配unicode字母而不匹配数字

来自分类Dev

javascript正则表达式仅数字和字母

来自分类Dev

正则表达式以匹配字母数字代码

来自分类Dev

匹配字母后跟数字的正则表达式

来自分类Dev

正则表达式匹配数字与字母

来自分类Dev

正则表达式检查带小数的字母数字,但仅拒绝字母数字,字母或数字

来自分类Dev

正则表达式用于仅提取R中字符串中的字母和数字

来自分类Dev

验证字符串是否仅包含字母和数字并且具有最大长度的正则表达式

来自分类Dev

Python正则表达式匹配包含字母和数字的8个字符的字符串

来自分类Dev

正则表达式匹配要在 Django 项目中的 URL 模式中使用的字母和数字的组合?

来自分类Dev

用于字母数字字符和数字范围组合的正则表达式

来自分类Dev

仅数字的正则表达式

来自分类Dev

正则表达式仅包含带有可选|| / &&和数字的数字

来自分类Dev

正则表达式以匹配数字,然后是下划线和数字?

来自分类Dev

正则表达式以匹配数字数学操作数和数字

来自分类Dev

伊朗车牌号的正则表达式,使用波斯字母和数字

来自分类Dev

Java拆分正则表达式彭定康字母和数字

来自分类Dev

正则表达式用于混合大写字母和数字

来自分类Dev

Java拆分正则表达式彭定康字母和数字

Related 相关文章

  1. 1

    正则表达式以验证信息(仅字母和数字)

  2. 2

    正则表达式-字母和数字之间的交替

  3. 3

    组合正则表达式字母和数字

  4. 4

    正则表达式以匹配所有字母数字和数学运算符

  5. 5

    正则表达式以匹配所有字母数字和数学运算符

  6. 6

    正则表达式匹配“ / 24af786e”字母和数字

  7. 7

    正则表达式只匹配几个字母和数字

  8. 8

    正则表达式匹配带有符号的字母和数字

  9. 9

    将匹配不以“km”结尾的字母和数字组合的正则表达式

  10. 10

    正则表达式-仅匹配unicode字母而不匹配数字

  11. 11

    正则表达式-仅匹配unicode字母而不匹配数字

  12. 12

    javascript正则表达式仅数字和字母

  13. 13

    正则表达式以匹配字母数字代码

  14. 14

    匹配字母后跟数字的正则表达式

  15. 15

    正则表达式匹配数字与字母

  16. 16

    正则表达式检查带小数的字母数字,但仅拒绝字母数字,字母或数字

  17. 17

    正则表达式用于仅提取R中字符串中的字母和数字

  18. 18

    验证字符串是否仅包含字母和数字并且具有最大长度的正则表达式

  19. 19

    Python正则表达式匹配包含字母和数字的8个字符的字符串

  20. 20

    正则表达式匹配要在 Django 项目中的 URL 模式中使用的字母和数字的组合?

  21. 21

    用于字母数字字符和数字范围组合的正则表达式

  22. 22

    仅数字的正则表达式

  23. 23

    正则表达式仅包含带有可选|| / &&和数字的数字

  24. 24

    正则表达式以匹配数字,然后是下划线和数字?

  25. 25

    正则表达式以匹配数字数学操作数和数字

  26. 26

    伊朗车牌号的正则表达式,使用波斯字母和数字

  27. 27

    Java拆分正则表达式彭定康字母和数字

  28. 28

    正则表达式用于混合大写字母和数字

  29. 29

    Java拆分正则表达式彭定康字母和数字

热门标签

归档