Regex 如何使用正则表达式在数字和字符之间进行分割?
我有一个字符串,包含工作日和开放时间,如何使用正则表达式将其拆分为行?字符串的一个示例是:Regex 如何使用正则表达式在数字和字符之间进行分割?,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 提前谢谢 这在ruby中工作:(\D+)(\D+
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
提前谢谢 这在ruby中工作:(\D+)(\D+:\D+-\D+:\D+)
您在Rubular上的示例:如果您搜索([a-z])(\d)
并将其替换为$1\n$2
,它应该可以工作,但如果不了解您的编程语言和环境,很难给您一个直接的答案。继续
(?<=\d)(?=\p{L})|(?<=\p{L})(?=\d)
(?当且仅当一个数字是具有\pN
属性的码点时,非数字是任何缺少所述属性的码点,而非数字是为其写入\pN
的
一些regex方言顽皮地坚持接受这些,比如\p{N}
或\p{N}
——这是无稽之谈,但你是语言设计师的奇思妙想、弱点、不安全感或无知的囚徒
在那些更具可读性的正则表达式方言中,您可以以更自由、更易读的方式编写它们,分别为\p{Number}
和\p{Number}
如果你指的是一个与数字不同的十进制数,你可以把它写成\p{Nd}
,因此它的补码是\p{Nd}
。这些数字的清晰版本是\p{decimal\u number}
和\p{decimal\u number}
。在某些编程语言中,这就是\d
regex便利缩写的意思
有四个与数字相关的一般类别:
N Number
Nd Decimal_Number (also Digit)
Nl Letter_Number
No Other_Number
Alnum InCommonIndicNumberForms Numeric_Type:Numeric Numeric_Value:18 Numeric_Value:38 Numeric_Value:400 Numeric_Value:60000
Bidi_Class:Arabic_Number InCountingRodNumerals Numeric_Value:0 Numeric_Value:19 Numeric_Value:39 Numeric_Value:500 Numeric_Value:70000
Bidi_Class:European_Number InCuneiformNumbersAndPunctuation Numeric_Value:NaN Numeric_Value:20 Numeric_Value:40 Numeric_Value:600 Numeric_Value:80000
Block:Aegean_Numbers InEnclosedAlphanumerics Numeric_Value:1 Numeric_Value:21 Numeric_Value:41 Numeric_Value:700 Numeric_Value:90000
Block:Ancient_Greek_Numbers InEnclosedAlphanumericSupplement Numeric_Value:2 Numeric_Value:22 Numeric_Value:42 Numeric_Value:800 Numeric_Value:100000
Block:Common_Indic_Number_Forms InMathematicalAlphanumericSymbols Numeric_Value:3 Numeric_Value:23 Numeric_Value:43 Numeric_Value:900 Numeric_Value:100000000
Block:Counting_Rod_Numerals InNumberForms Numeric_Value:4 Numeric_Value:24 Numeric_Value:44 Numeric_Value:1000 Numeric_Value:1000000000000
Block:Cuneiform_Numbers_And_Punctuation InRumiNumeralSymbols Numeric_Value:5 Numeric_Value:25 Numeric_Value:45 Numeric_Value:2000 Other_Number
Block:Enclosed_Alphanumeric_Supplement Letter_Number Numeric_Value:6 Numeric_Value:26 Numeric_Value:46 Numeric_Value:3000 PosixAlnum
Block:Enclosed_Alphanumerics Line_Break:Infix_Numeric Numeric_Value:7 Numeric_Value:27 Numeric_Value:47 Numeric_Value:4000 Sentence_Break:Numeric
Block:Mathematical_Alphanumeric_Symbols Line_Break:Numeric Numeric_Value:8 Numeric_Value:28 Numeric_Value:48 Numeric_Value:5000 Word_Break:ExtendNumLet
Block:Number_Forms Line_Break:Postfix_Numeric Numeric_Value:9 Numeric_Value:29 Numeric_Value:49 Numeric_Value:6000 Word_Break:MidNum
Block:Rumi_Numeral_Symbols Line_Break:Prefix_Numeric Numeric_Value:10 Numeric_Value:30 Numeric_Value:50 Numeric_Value:7000 Word_Break:MidNumLet
Decimal_Number Number Numeric_Value:11 Numeric_Value:31 Numeric_Value:60 Numeric_Value:8000 Word_Break:Numeric
General_Category:Decimal_Number Numeric_Type:De Numeric_Value:12 Numeric_Value:32 Numeric_Value:70 Numeric_Value:9000 XPosixAlnum
General_Category:Letter_Number Numeric_Type:Decimal Numeric_Value:13 Numeric_Value:33 Numeric_Value:80 Numeric_Value:10000
General_Category:Number Numeric_Type:Di Numeric_Value:14 Numeric_Value:34 Numeric_Value:90 Numeric_Value:20000
General_Category:Other_Number Numeric_Type:Digit Numeric_Value:15 Numeric_Value:35 Numeric_Value:100 Numeric_Value:30000
InAegeanNumbers Numeric_Type:None Numeric_Value:16 Numeric_Value:36 Numeric_Value:200 Numeric_Value:40000
InAncientGreekNumbers Numeric_Type:Nu Numeric_Value:17 Numeric_Value:37 Numeric_Value:300 Numeric_Value:50000
还有许多其他与数字相关的类别:
N Number
Nd Decimal_Number (also Digit)
Nl Letter_Number
No Other_Number
Alnum InCommonIndicNumberForms Numeric_Type:Numeric Numeric_Value:18 Numeric_Value:38 Numeric_Value:400 Numeric_Value:60000
Bidi_Class:Arabic_Number InCountingRodNumerals Numeric_Value:0 Numeric_Value:19 Numeric_Value:39 Numeric_Value:500 Numeric_Value:70000
Bidi_Class:European_Number InCuneiformNumbersAndPunctuation Numeric_Value:NaN Numeric_Value:20 Numeric_Value:40 Numeric_Value:600 Numeric_Value:80000
Block:Aegean_Numbers InEnclosedAlphanumerics Numeric_Value:1 Numeric_Value:21 Numeric_Value:41 Numeric_Value:700 Numeric_Value:90000
Block:Ancient_Greek_Numbers InEnclosedAlphanumericSupplement Numeric_Value:2 Numeric_Value:22 Numeric_Value:42 Numeric_Value:800 Numeric_Value:100000
Block:Common_Indic_Number_Forms InMathematicalAlphanumericSymbols Numeric_Value:3 Numeric_Value:23 Numeric_Value:43 Numeric_Value:900 Numeric_Value:100000000
Block:Counting_Rod_Numerals InNumberForms Numeric_Value:4 Numeric_Value:24 Numeric_Value:44 Numeric_Value:1000 Numeric_Value:1000000000000
Block:Cuneiform_Numbers_And_Punctuation InRumiNumeralSymbols Numeric_Value:5 Numeric_Value:25 Numeric_Value:45 Numeric_Value:2000 Other_Number
Block:Enclosed_Alphanumeric_Supplement Letter_Number Numeric_Value:6 Numeric_Value:26 Numeric_Value:46 Numeric_Value:3000 PosixAlnum
Block:Enclosed_Alphanumerics Line_Break:Infix_Numeric Numeric_Value:7 Numeric_Value:27 Numeric_Value:47 Numeric_Value:4000 Sentence_Break:Numeric
Block:Mathematical_Alphanumeric_Symbols Line_Break:Numeric Numeric_Value:8 Numeric_Value:28 Numeric_Value:48 Numeric_Value:5000 Word_Break:ExtendNumLet
Block:Number_Forms Line_Break:Postfix_Numeric Numeric_Value:9 Numeric_Value:29 Numeric_Value:49 Numeric_Value:6000 Word_Break:MidNum
Block:Rumi_Numeral_Symbols Line_Break:Prefix_Numeric Numeric_Value:10 Numeric_Value:30 Numeric_Value:50 Numeric_Value:7000 Word_Break:MidNumLet
Decimal_Number Number Numeric_Value:11 Numeric_Value:31 Numeric_Value:60 Numeric_Value:8000 Word_Break:Numeric
General_Category:Decimal_Number Numeric_Type:De Numeric_Value:12 Numeric_Value:32 Numeric_Value:70 Numeric_Value:9000 XPosixAlnum
General_Category:Letter_Number Numeric_Type:Decimal Numeric_Value:13 Numeric_Value:33 Numeric_Value:80 Numeric_Value:10000
General_Category:Number Numeric_Type:Di Numeric_Value:14 Numeric_Value:34 Numeric_Value:90 Numeric_Value:20000
General_Category:Other_Number Numeric_Type:Digit Numeric_Value:15 Numeric_Value:35 Numeric_Value:100 Numeric_Value:30000
InAegeanNumbers Numeric_Type:None Numeric_Value:16 Numeric_Value:36 Numeric_Value:200 Numeric_Value:40000
InAncientGreekNumbers Numeric_Type:Nu Numeric_Value:17 Numeric_Value:37 Numeric_Value:300 Numeric_Value:50000
Alnum InCommonIndicationNumberForms数字类型:数字值:18数字值:38数字值:400数字值:60000
Bidi_类:阿拉伯_数字输入计算棒数字值:0数字值:19数字值:39数字值:500数字值:70000
Bidi_类:欧洲_编号包括格式编号和标点符号数值:NaN数值:20数值:40数值:600数值:80000
块:爱琴海数字InClosedalphanumerics数值:1数值:21数值:41数值:700数值:90000
块:古希腊数字封闭数字补充数字值:2数字值:22数字值:42数字值:800数字值:100000
块:常用的字母数字符号形式数字值:3数字值:23数字值:43数字值:900数字值:100000000
块:在数字窗体中计数字符数值:4数值:24数值:44数值:1000数值:10000000000
块:楔形文字数字和标点符号数字值:5数字值:25数字值:45数字值:2000其他数字
块:封闭字母数字补充字母数字数值:6数值:26数值:46数值:3000 PosixAlnum
块:封闭字母数字行分隔符:中缀数字值:7数字值:27数字值:47数字值:4000句子分隔符:数字
块:数学字母数字符号行分隔符:数字值:8数字值:28数字值:48数字值:5000字分隔符:ExtendNumLet
块:数字形式行分隔符:后缀数字值:9数字值:29数字值:49数字值:6000字分隔符:MidNum
块:Rumi\u数字\u符号行\u中断:前缀\u数字\u值:10数字\u值:30数字\u值:50数字\u值:7000字\u中断:中间值
十进制数数字值:11数字值:31数字值:60数字值:8000字\u中断:数字
一般类别:十进制数字数字类型:反数字值:12数字值:32数字值:70数字值:9000 XPosixAlnum
一般类别:字母数字数字类型:十进制数值:13数值:33 Nu
N Number
Nd Decimal_Number (also Digit)
Nl Letter_Number
No Other_Number
Alnum InCommonIndicNumberForms Numeric_Type:Numeric Numeric_Value:18 Numeric_Value:38 Numeric_Value:400 Numeric_Value:60000
Bidi_Class:Arabic_Number InCountingRodNumerals Numeric_Value:0 Numeric_Value:19 Numeric_Value:39 Numeric_Value:500 Numeric_Value:70000
Bidi_Class:European_Number InCuneiformNumbersAndPunctuation Numeric_Value:NaN Numeric_Value:20 Numeric_Value:40 Numeric_Value:600 Numeric_Value:80000
Block:Aegean_Numbers InEnclosedAlphanumerics Numeric_Value:1 Numeric_Value:21 Numeric_Value:41 Numeric_Value:700 Numeric_Value:90000
Block:Ancient_Greek_Numbers InEnclosedAlphanumericSupplement Numeric_Value:2 Numeric_Value:22 Numeric_Value:42 Numeric_Value:800 Numeric_Value:100000
Block:Common_Indic_Number_Forms InMathematicalAlphanumericSymbols Numeric_Value:3 Numeric_Value:23 Numeric_Value:43 Numeric_Value:900 Numeric_Value:100000000
Block:Counting_Rod_Numerals InNumberForms Numeric_Value:4 Numeric_Value:24 Numeric_Value:44 Numeric_Value:1000 Numeric_Value:1000000000000
Block:Cuneiform_Numbers_And_Punctuation InRumiNumeralSymbols Numeric_Value:5 Numeric_Value:25 Numeric_Value:45 Numeric_Value:2000 Other_Number
Block:Enclosed_Alphanumeric_Supplement Letter_Number Numeric_Value:6 Numeric_Value:26 Numeric_Value:46 Numeric_Value:3000 PosixAlnum
Block:Enclosed_Alphanumerics Line_Break:Infix_Numeric Numeric_Value:7 Numeric_Value:27 Numeric_Value:47 Numeric_Value:4000 Sentence_Break:Numeric
Block:Mathematical_Alphanumeric_Symbols Line_Break:Numeric Numeric_Value:8 Numeric_Value:28 Numeric_Value:48 Numeric_Value:5000 Word_Break:ExtendNumLet
Block:Number_Forms Line_Break:Postfix_Numeric Numeric_Value:9 Numeric_Value:29 Numeric_Value:49 Numeric_Value:6000 Word_Break:MidNum
Block:Rumi_Numeral_Symbols Line_Break:Prefix_Numeric Numeric_Value:10 Numeric_Value:30 Numeric_Value:50 Numeric_Value:7000 Word_Break:MidNumLet
Decimal_Number Number Numeric_Value:11 Numeric_Value:31 Numeric_Value:60 Numeric_Value:8000 Word_Break:Numeric
General_Category:Decimal_Number Numeric_Type:De Numeric_Value:12 Numeric_Value:32 Numeric_Value:70 Numeric_Value:9000 XPosixAlnum
General_Category:Letter_Number Numeric_Type:Decimal Numeric_Value:13 Numeric_Value:33 Numeric_Value:80 Numeric_Value:10000
General_Category:Number Numeric_Type:Di Numeric_Value:14 Numeric_Value:34 Numeric_Value:90 Numeric_Value:20000
General_Category:Other_Number Numeric_Type:Digit Numeric_Value:15 Numeric_Value:35 Numeric_Value:100 Numeric_Value:30000
InAegeanNumbers Numeric_Type:None Numeric_Value:16 Numeric_Value:36 Numeric_Value:200 Numeric_Value:40000
InAncientGreekNumbers Numeric_Type:Nu Numeric_Value:17 Numeric_Value:37 Numeric_Value:300 Numeric_Value:50000