Arrays 如何使用正则表达式按相同的符号序列拆分字符串?

Arrays 如何使用正则表达式按相同的符号序列拆分字符串?,arrays,regex,string,split,Arrays,Regex,String,Split,我有字符串“a'a'a'a'b'c'c'a'a'd'e'e'e” 我需要在此模式下创建一个字符串数组: ["'a'a'a'a'", "b'", "c'c'", "a'a'" ,"d'", "e'e'e'e"] 如何使用正则表达式获取它?您可以将它们与 (?:^')?(.')\1*(?:.$)? 看 正则表达式以(?:^')?开头匹配可选的”,然后匹配并捕获除换行符后接“(带(。))之外的任何符号,然后在字符串末尾匹配并捕获其自身任意次数(带\1*)的可选符号,但不带换行符(带(?:.$)?)

我有字符串“a'a'a'a'b'c'c'a'a'd'e'e'e” 我需要在此模式下创建一个字符串数组:

["'a'a'a'a'", "b'", "c'c'", "a'a'" ,"d'", "e'e'e'e"]

如何使用正则表达式获取它?

您可以将它们与

(?:^')?(.')\1*(?:.$)?

正则表达式以
(?:^')?
开头匹配可选的
,然后匹配并捕获除换行符后接
(带
(。)
)之外的任何符号,然后在字符串末尾匹配并捕获其自身任意次数(带
\1*
)的可选符号,但不带换行符(带
(?:.$)?

输出:

'a'a'a'a'
b'
c'c'
a'a'
d'
e'e'e'e

您可以使用以下正则表达式使用匹配项,而不是拆分:

(('[^']+)\2*)

这将匹配一个单引号,后跟一个或多个非单引号字符,并对其进行分组。稍后,可以使用反向引用来匹配0个或多个已捕获字符串。

。在“后看”中,它捕获并向前看

(?<=(\w)'(?!\1))

(?什么编程语言?我在Scala/JavaSee my中尝试过,撇号位置不正确,以及。