簡體   English   中英

我有正則表達式將字符串拆分為單詞,數字和標點符號列表。 如何制作列表中的“az”和“0-9”單個元素?

[英]I have regex to split string to words, numbers and punctuation marks list. How to make “a-z” and “0-9” single elements of list?

它看起來如此:

string[] lines = Regex.Split(line, @"\s+|(?!^)(?=\p{P})|(?<=\p{P})(?!$)");

它將"ASds22d. asd ,156"拆分為"ASds22d" + "." + "asd" + "," + "156" "ASds22d" + "." + "asd" + "," + "156"

這是“az”,“0-9”等字符串或“ac”和“4-5”等變體的問題。 我的正則表達式將"az 1-9"分為"az 1-9" "a" + "-" + "z" + "1" + "-" + "9"但我只需要"az" + "1-9"

有人能解決這個正則表達式嗎?

\s+|(?!^|-)(?=\p{P})|(?<=\p{P})(?<!-)(?!$)

您可以嘗試這樣的事情。這不會分裂- 。如果您有任何需要拆分的示例-需要它可以再次進行OR編輯。

見演示。

https://regex101.com/r/iS6jF6/3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM