正则表达式匹配一个字符串但失败相同

妮基·乔西(Nikhil J Joshi)

我想用regexjava提取一些信息出来的字符串。对于演示,我有以下内容(看似愚蠢的代码):

Pattern featureIndexValuePattern = Pattern.compile("([\\w_ \\-\\.\\=]+)\\s+(\\d+)");


String str = "member_currentCompany9042547 0";

String str1 = "member_currentCompany9042547 0";

Matcher match = featureIndexValuePattern.matcher(str);

if (match.find()) {
    System.out.println("FOUND!");
    System.out.println(match.group(0));
    System.out.println(match.group(1));
    System.out.println(match.group(2));
}

match = featureIndexValuePattern.matcher(str1);

if (match.find()) {
    System.out.println("FOUND!");
    System.out.println(match.group(0));
    System.out.println(match.group(1));
    System.out.println(match.group(2));
}

我得到的输出是

FOUND!
9042547 0
9042547
0
FOUND!
member_currentCompany9042547 0
member_currentCompany9042547
0

实际上,两个输入字符串完全相同,除了第一个是从文件复制粘贴而后者是硬编码的。我无法找到输出为何不同的原因。我怀疑这是字符编码。有人可以帮助我了解这里发生的事情吗?

谢谢,Nikhil

妮基·乔西(Nikhil J Joshi)

执行时,遵循Andy Turner评论中的建议

Arrays.toString(str.toCharArray())

我可以看到非打印unicode字符(在9之前):

 str: [m, e, m, b, e, r, _, c, u, r, r, e, n, t, C, o, m, p, a, n, y, , 9, 0, 4, 2, 5, 4, 7,  , 0]
 str1: [m, e, m, b, e, r, _, c, u, r, r, e, n, t, C, o, m, p, a, n, y, 9, 0, 4, 2, 5, 4, 7,  , 0]

添加\\p{C}到模式可以解决此问题。

尼基尔

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Java中使用正则表达式多次匹配一个字符串

来自分类Dev

在两个字符串(包括第一个字符串)之间匹配的正则表达式

来自分类Dev

正则表达式匹配不包括第一个字符的字符串

来自分类Dev

正则表达式多个元素一个字符串

来自分类Dev

正则表达式以匹配2个字符串并包含另一个字符串

来自分类Dev

Powershell正则表达式匹配第一个字符串以外的字符串

来自分类Dev

正则表达式从一个字符串到另一个字符串

来自分类Dev

正则表达式替换特定匹配项的字符串的第一个和最后一个字符

来自分类Dev

R:在一个字符串中匹配M个正则表达式后提取N个字符

来自分类Dev

如果文本仅包含一个字符串,则匹配文本的正则表达式

来自分类Dev

正则表达式删除与第一个字符串匹配的行?

来自分类Dev

基于熊猫/正则表达式的方法来匹配字符串列表中的第一个字符串

来自分类Dev

使用Ansible在正则表达式匹配行的末尾附加一个字符串

来自分类Dev

正则表达式以匹配多个字符串之一,然后是另一个字符串

来自分类Dev

正则表达式匹配字符串,长度为3-6个字符,至少一个字母,没有重复的“-”

来自分类Dev

得到一个字符串的PHP正则表达式匹配

来自分类Dev

正则表达式PCRE:验证字符串以匹配第一个字符串集而不是最后一个字符串

来自分类Dev

正则表达式匹配字符串的第一个和最后一个字符,但是为什么呢?

来自分类Dev

两个可能包含另一个字符串的字符串之间的正则表达式匹配

来自分类Dev

Python 3-正则表达式-匹配少一个字符的字符串

来自分类Dev

正则表达式替换特定匹配项的字符串的第一个和最后一个字符

来自分类Dev

正则表达式删除与第一个字符串匹配的行?

来自分类Dev

正则表达式仅匹配一个字符串。需要它匹配两个

来自分类Dev

正则表达式匹配另一个字符串之后出现的字符串

来自分类Dev

C#正则表达式,匹配但不包括匹配字符串之前的第一个字符

来自分类Dev

使用正则表达式替换匹配字符串的最后一个字符

来自分类Dev

仅当不匹配另一个字符串(类似于正则表达式或)正则表达式时才匹配字符串?

来自分类Dev

正则表达式匹配字符串中的最后一个字符 - C#

来自分类Dev

正则表达式匹配行与字符串 AND 没有另一个字符串

Related 相关文章

  1. 1

    在Java中使用正则表达式多次匹配一个字符串

  2. 2

    在两个字符串(包括第一个字符串)之间匹配的正则表达式

  3. 3

    正则表达式匹配不包括第一个字符的字符串

  4. 4

    正则表达式多个元素一个字符串

  5. 5

    正则表达式以匹配2个字符串并包含另一个字符串

  6. 6

    Powershell正则表达式匹配第一个字符串以外的字符串

  7. 7

    正则表达式从一个字符串到另一个字符串

  8. 8

    正则表达式替换特定匹配项的字符串的第一个和最后一个字符

  9. 9

    R:在一个字符串中匹配M个正则表达式后提取N个字符

  10. 10

    如果文本仅包含一个字符串,则匹配文本的正则表达式

  11. 11

    正则表达式删除与第一个字符串匹配的行?

  12. 12

    基于熊猫/正则表达式的方法来匹配字符串列表中的第一个字符串

  13. 13

    使用Ansible在正则表达式匹配行的末尾附加一个字符串

  14. 14

    正则表达式以匹配多个字符串之一,然后是另一个字符串

  15. 15

    正则表达式匹配字符串,长度为3-6个字符,至少一个字母,没有重复的“-”

  16. 16

    得到一个字符串的PHP正则表达式匹配

  17. 17

    正则表达式PCRE:验证字符串以匹配第一个字符串集而不是最后一个字符串

  18. 18

    正则表达式匹配字符串的第一个和最后一个字符,但是为什么呢?

  19. 19

    两个可能包含另一个字符串的字符串之间的正则表达式匹配

  20. 20

    Python 3-正则表达式-匹配少一个字符的字符串

  21. 21

    正则表达式替换特定匹配项的字符串的第一个和最后一个字符

  22. 22

    正则表达式删除与第一个字符串匹配的行?

  23. 23

    正则表达式仅匹配一个字符串。需要它匹配两个

  24. 24

    正则表达式匹配另一个字符串之后出现的字符串

  25. 25

    C#正则表达式,匹配但不包括匹配字符串之前的第一个字符

  26. 26

    使用正则表达式替换匹配字符串的最后一个字符

  27. 27

    仅当不匹配另一个字符串(类似于正则表达式或)正则表达式时才匹配字符串?

  28. 28

    正则表达式匹配字符串中的最后一个字符 - C#

  29. 29

    正则表达式匹配行与字符串 AND 没有另一个字符串

热门标签

归档