Java 这个正则表达式是如何做到这一点的?
我想在我的程序中使用下面的表达式,但我不知道这个正则表达式做什么! 请帮帮我Java 这个正则表达式是如何做到这一点的?,java,regex,Java,Regex,我想在我的程序中使用下面的表达式,但我不知道这个正则表达式做什么! 请帮帮我 "(?=(?!^)[,;.:])|(?<=[,;.:])" “(?=(?!^)[,;:])|(?表达式匹配满足以下两个条件之一的0长度字符串: 前面是,;:中的一个,但不适用于主题字符串开头(位置0)之前的0长度字符串。因此主题字符串“在位置0处不匹配,仅在位置1处匹配,因为有以下替代方法。这是通过正向前瞻(?=)和反向前瞻(?!)完成的 在它后面是一个,;:。这是通过正向查找来完成的(?如果你不知道它的功能
"(?=(?!^)[,;.:])|(?<=[,;.:])"
“(?=(?!^)[,;:])|(?表达式匹配满足以下两个条件之一的0长度字符串:
- 前面是
,;:
中的一个,但不适用于主题字符串开头(位置0)之前的0长度字符串。因此主题字符串“
在位置0处不匹配,仅在位置1处匹配,因为有以下替代方法。这是通过正向前瞻(?=)和反向前瞻(?!)完成的
- 在它后面是一个
,;:
。这是通过正向查找来完成的(?如果你不知道它的功能,为什么要使用它?因为我想拆分一个字符串,而这个正则表达式可以做到这一点!就像这个字符串aa,.1..a。它拆分为以下字符[aa][,][.][1][.][a][.]我不知道这个正则表达式如何做到这一点,所以你知道它是做什么的-你只需要帮助理解它是如何做到的。那么为什么aa可以拆分?因为aa没有[,;:]中的任何一个,但是拆分了!在aa之前不是[,:;]中的任何一个,aa也不是以[,;:]结尾的!但是分裂了!@taheraa
没有分裂。匹配只在aa
之后。这就是为什么两个a
s没有分开的原因。@taher啊,我没有看到空格。aa.
被分裂成aa
和。我想你看到了空格,但它在那里。@taheraa.,;123 a1.1..a
被分裂了到12个部分:aa§.§,§;§123 a1§.§.§.§.§.§.§.§§§§§§§§
,匹配位置由§§§
指示。我不确定您还期望/得到什么。