Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java解释这个正则表达式_Java_Regex - Fatal编程技术网

用Java解释这个正则表达式

用Java解释这个正则表达式,java,regex,Java,Regex,java中的正则表达式: 'String'.replaceAll("([aeioucgjkqsxyzbfpvwdtmn1234567890])\\1+", "$1") 有人能解释一下不同字符的作用吗?如果括号中列出的所有字母后面有一个\1,则括号中列出的所有字母都将替换为$1,这是一个反斜杠。加号(+)表示1个或多个。括号[…]内1个或多个字符的任何序列都将替换为$1 例如,这将从字符串中删除所有这些字符: System.out.println(Str.replaceAll(([AEIOUCG

java中的正则表达式:

'String'.replaceAll("([aeioucgjkqsxyzbfpvwdtmn1234567890])\\1+", "$1")

有人能解释一下不同字符的作用吗?

如果括号中列出的所有字母后面有一个\1,则括号中列出的所有字母都将替换为$1,这是一个反斜杠。加号(+)表示1个或多个。

括号[…]内1个或多个字符的任何序列都将替换为$1

例如,这将从字符串中删除所有这些字符:
System.out.println(Str.replaceAll(([AEIOUCGJKQSXYZBFPFPWDTMN1234567890])\1+,“”)

解释:

aaaa
  • [AEIOUCGJKQSXYZBFPFVWDTMN1234567890]
    匹配列表中的单个字符
  • ([AEIOUCGJKQSXYZBFPWDTMN1234567890])
    捕获char类周围的组将捕获该单个字符
  • \1+
    \1
    是一个指针,用于引用组索引1中的字符。在我们的例子中,捕获单个字符,因此它引用该单个字符<代码>\1+表示组索引1中出现的一个或多个字符
例如:

aaaa
上面的正则表达式将捕获第一个字符,并检查以下一个或多个字符是否与捕获的第一个字符相同。如果是,则整个重复字符将替换为单个字符(位于组索引1内),即
aaaa
替换为单个
a


也许正则表达式教程是一个好的第一步?或者在任何在线正则表达式评估器上进行一些实验?有些甚至是图形化的,有助于分解。我知道什么是正则表达式,但我不完全了解,特别是\\1+partregular-expressions.info。您意识到,如果您只需将鼠标悬停在您创建的正则表达式标记上并单击“信息”,您需要的所有“信息”都在那里?或者:(公平地说,看起来其他一些人也可以从进修课程中受益。)