如何使用正则表达式在数字和字符之间进行拆分?

Mag*_*nus 4 regex

我有一个包含工作日和开放时间的字符串,如何使用正则表达式将这些字符串分割成行?字符串的示例是:

Mån - Tor6:30 - 22:00Fre6:30 - 20:00Lör9:00 - 18:00Sön10:00 - 19:00
Run Code Online (Sandbox Code Playgroud)

我想分开一个较低的字母和一个数字,以及一个数字和一个大写字母

Mån - Tor  
6:30 - 22:00  
Fre  
6:30 - 20:00  
Lör  
9:00 - 18:00  
Sön  
10:00 - 19:00 
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Tim*_*ker 8

拆分

(?<=\d)(?=\p{L})|(?<=\p{L})(?=\d)
Run Code Online (Sandbox Code Playgroud)

例如,在C#中:

splitArray = Regex.Split(subjectString, @"(?<=\d)(?=\p{L})|(?<=\p{L})(?=\d)");
Run Code Online (Sandbox Code Playgroud)

或者在PHP中:

$result = preg_split('/(?<=\d)(?=\p{L})|(?<=\p{L})(?=\d)/u', $subject);
Run Code Online (Sandbox Code Playgroud)

或者在Java中:

String[] splitArray = subjectString.split("(?<=\\d)(?=\\p{L})|(?<=\\p{L})(?=\\d)");
Run Code Online (Sandbox Code Playgroud)

或者在Perl中:

@result = split(m/(?<=\d)(?=\p{L})|(?<=\p{L})(?=\d)/, $subject);
Run Code Online (Sandbox Code Playgroud)