Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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
Regex 当分隔符位于前面时,如何使用正则表达式拆分字符串,同时保留分隔符?_Regex_Split - Fatal编程技术网

Regex 当分隔符位于前面时,如何使用正则表达式拆分字符串,同时保留分隔符?

Regex 当分隔符位于前面时,如何使用正则表达式拆分字符串,同时保留分隔符?,regex,split,Regex,Split,我正在尝试拆分以下字符串: "03/04/1987", "Joseph", "Sam", "F", "12/09/1976", "Saram", "Mary", "M","08/10/1969", "Shik", "Shaary", "F" 我需要使用正则表达式将此字符串拆分为多个字符串。结果应该如下所示: "03/04/1987", "Joseph", "Sam", "F" "12/09/1976", "Saram", "Mary", "M" "08/10/1969", "Shik", "S

我正在尝试拆分以下字符串:

"03/04/1987", "Joseph", "Sam", "F", "12/09/1976", "Saram", "Mary", "M","08/10/1969", "Shik", "Shaary", "F"
我需要使用正则表达式将此字符串拆分为多个字符串。结果应该如下所示:

"03/04/1987", "Joseph", "Sam", "F"
"12/09/1976", "Saram", "Mary", "M"
"08/10/1969", "Shik", "Shaary", "F"
谢谢你的帮助



我找到了答案(?=\d{2}/\d{2}/\d{4})。谢谢。

这应该适合您:

String[] parts = str.split("(?<=\"[FM]\",) ");

String[]parts=str.split(“(?如果您指出您使用的是什么风格的正则表达式,则更容易提供更完整的解决方案。但是,您可以在逗号上拆分,该逗号后跟zeri或更多空格,并限定日期字符串的正向前瞻性。使用前瞻性可确保引用的日期字符串本身不会被删除

,\s*(?="\d{2}/\d{2}/\d{4}")
在.NET中,您可以使用:

splitArray = Regex.Split(subjectString, @",\s*(?=""\d{2}/\d{2}/\d{4}"")", RegexOptions.Singleline);

在java问题中,使用此模式执行拆分,\s*(?=([^“]*”{8})*$)
或替换为
\n

(?delimeter是\d{2}/\d{2}/\d{4}。有时记录可能没有F或M,但肯定以日期开始。