我需要这个正则表达式的帮助。 我有字符串:
text1#text2<=#text3#56&*()_!
我必须: text1
,text2<=
,text3
,56&*()_!
如何在#之间搜索字符,但不要在组合<
和=
中使用#(模式:&#\d+
)
正则表达式将在C#中使用。
现在我使用这种模式.*?(?=#)|.*?$
答案 0 :(得分:2)
根据#
分隔字符串,前面有数字。
string value = "text1#text2<=#text3#56&*()_!";
string[] lines = Regex.Split(value, @"(?<=\d)#");
foreach (string line in lines) {
Console.WriteLine(line);
}
答案 1 :(得分:0)
非常感谢您的回答,但我找到了最好的方法
string value = "text1#text2<=#text3#56&*()_!";
string splitPattern = @"(?<!&)#|#(?!\d+)";
List<string> values = Regex.Split(value, splitPattern).Where(s => s != String.Empty);