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

标签 regex

我有一个包含工作日和营业时间的字符串,如何使用正则表达式将它们分成几行?一个字符串的例子是:

Mån - Tor6:30 - 22:00Fre6:30 - 20:00Lör9:00 - 18:00Sön10:00 - 19:00

我想在小写字母和数字之间以及数字和大写字母之间拆分
Mån - Tor  
6:30 - 22:00  
Fre  
6:30 - 20:00  
Lör  
9:00 - 18:00  
Sön  
10:00 - 19:00 

提前致谢!

最佳答案

拆分

(?<=\d)(?=\p{L})|(?<=\p{L})(?=\d)

例如,在 C# 中:
splitArray = Regex.Split(subjectString, @"(?<=\d)(?=\p{L})|(?<=\p{L})(?=\d)");

或在 PHP 中:
$result = preg_split('/(?<=\d)(?=\p{L})|(?<=\p{L})(?=\d)/u', $subject);

或在 Java 中:
String[] splitArray = subjectString.split("(?<=\\d)(?=\\p{L})|(?<=\\p{L})(?=\\d)");

或在 Perl 中:
@result = split(m/(?<=\d)(?=\p{L})|(?<=\p{L})(?=\d)/, $subject);

关于regex - 如何使用正则表达式在数字和字符之间进行拆分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4340320/

相关文章:

c# - 如何从字符串中删除所有非数字字符并仅将数字作为新字符串获取?

C# 验证用户输入,如信用卡号

正则表达式: "(.)+\1"如何工作?

regex - 我如何简化这个正则表达式

python - 无法匹配的正则表达式(对于生成的表达式)

c# - 用于分行的正则表达式是否应该考虑 unix/dos 问题?

python - 在之前的任何地方查找具有字母数字字符的非字母数字字符

python - 不匹配任何字符串的最快正则表达式

MySQL 在正则表达式中匹配空格

c# - IP 地址的正则表达式