我需要构造一个正则表达式来分解这样的字符串 (1 2 3);(abc);(4 5 6)
即括号中的每一件事都是一个blob(或接下来要分开的列表)
有什么想法吗?
这是我在此找到的链接。到目前为止,我还无法让它在.net 下工作。如果你能做翻译,那将不胜感激。
我需要构造一个正则表达式来分解这样的字符串 (1 2 3);(abc);(4 5 6)
即括号中的每一件事都是一个blob(或接下来要分开的列表)
有什么想法吗?
这是我在此找到的链接。到目前为止,我还无法让它在.net 下工作。如果你能做翻译,那将不胜感激。
这可以使用以下方法轻松实现string.Split
:
string[] results = myString.Split("();".ToCharArray(),
StringSplitOptions.RemoveEmptyEntries);
// results[0] == "1 2 3"
// results[1] == "a b c"
// results[2] == "4 5 6"
从我上面的评论:
只是为了挑战,这里是正则表达式:
(?<=(^|;)\()(?<list>[^();]+)(?=\)(;|$))
它将列表的开头定义为字符串的开头或分号后跟左括号,并且仅当每个列表遇到紧括号后跟字符串末尾的分号时才考虑结束。“list”是包含(你猜对了)每个列表的命名组。