我们遇到以下正则表达式的问题:
(.*?)\|\*\|([0-9]+)\*\|\*(.*?)
Run Code Online (Sandbox Code Playgroud)
它应该匹配以下内容: |*25 *|
我们使用的是.Net Framework 4 RegEx Class,代码如下:
string expression = "(.*?)" +
Regex.Escape(Constants.FIELD_START_DELIMITER_BACK_END) +
"([0-9]+)" +
Regex.Escape(Constants.FIELD_END_DELIMITER_BACK_END) +
"(.*?)";
Regex r = new Regex(expression);
r.Matches(contentText)
Run Code Online (Sandbox Code Playgroud)
使用40.000个字符的文本需要太长时间(如60秒).
但是180.000的文字速度是非常可接受的(3秒或更短)
文本之间的唯一区别是第一个文本(慢速的文本)它全部包含在一行中,没有换行符.这可能是个问题吗?那影响了性能?
谢谢