小弟我做了一个网页内容采集器,通过正则表达式提取页面中的内容.但是遇到有换行的时候,有时候不能正常匹配,具体的哪种情况下不能正常匹配我也不清楚,好像是换行符是\r\n时可以正常匹配,换行符是\n时则不能正确匹配,但是我用 regex match tracer时不论用什么换行符都可以正常匹配.
请教各位该怎么处理换行符这个问题?造成这种现象的原因是神马呢?
请教各位该怎么处理换行符这个问题?造成这种现象的原因是神马呢?
解决方案 »
- 庞果网英雄会试题2大数相乘c#写法
- C# OLEDB 如何将一个excel的所有sheet都存到dataset中
- foreach 删除datatable中满足条件的某些行
- C#里怎么让textbox输入货币?如 00.00,但第一个数字不能为0 .如输入098,当失去焦点的时候自动转换成98.00
- datagrid 分页无法实现,不知道是啥子原因! 先谢谢了
- winform界面反映很慢,不知道怎么解决。
- 求助各位高手,大侠.帮忙解决DataGrid分页问题
- VS2012自带的 LocalDB windows服务程序
- 很郁闷的一个问题?
- 有什么区别??
- winform中关闭了子窗体文档,但再打开此文档是就报错了
- 窗体怎么刷新自己
可用\r?$,比如:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;
namespace sxLdfang
{
class Program
{
static void Main(string[] args)
{
string html = @"25
36.5
025
-123.7
36.35
3.14.36";
string pattern = @"(?m)^[+-]?(0|(?!0)\d+)(\.\d+)?\r?$";
MatchCollection mc = Regex.Matches(html, pattern);
foreach (Match m in mc)
{
Console.WriteLine(m.Value);
}
Console.ReadKey();
}
}
}
运行结果:
25
36.5
-123.7
36.35
不论是否单行模式,\s* 总能匹配\r或\n或\r\n吧,不像是楼主想表达的意思。