Arrays 如何使用正则表达式按相同的符号序列拆分字符串?
我有字符串“a'a'a'a'b'c'c'a'a'd'e'e'e” 我需要在此模式下创建一个字符串数组: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'e"]
如何使用正则表达式获取它?您可以将它们与
(?:^')?(.')\1*(?:.$)?
看
正则表达式以(?:^')?
开头匹配可选的”
,然后匹配并捕获除换行符后接“
(带(。)
)之外的任何符号,然后在字符串末尾匹配并捕获其自身任意次数(带\1*
)的可选符号,但不带换行符(带(?:.$)?
)
输出:
'a'a'a'a'
b'
c'c'
a'a'
d'
e'e'e'e
您可以使用以下正则表达式使用匹配项,而不是拆分:
(('[^']+)\2*)
这将匹配一个单引号,后跟一个或多个非单引号字符,并对其进行分组。稍后,可以使用反向引用来匹配0个或多个已捕获字符串。。在“后看”中,它捕获并向前看
(?<=(\w)'(?!\1))
(?什么编程语言?我在Scala/JavaSee my中尝试过,撇号位置不正确,以及。