技术笔记:C#开发正则提取工具,零点博客分享MySQL与前端实战避坑指南
最近在零点博客折腾了一款技术笔记积累工具,核心是用C#做后端,配合MySQL存数据。今天不整虚的,直接复盘一下开发过程中的踩坑点和干货实现。
一、项目背景:为什么不自己造轮子?
平时做项目经常需要清洗文本,比如从HTML里抓取文章链接。市面上的工具要么收费,要么太臃肿。既然我们要搞接口开发,那就自己写一个轻量级的在线工具。这个项目涵盖了你要求的C#后端、MySQL存储以及HTML/CSS/JS前端交互。
二、后端实战:C# + MySQL 数据交互
后端选用了C#。首先是数据库连接,这里必须强调SQL注入防护的重要性。
using (SqlConnection conn = new SqlConnection("Server=...;Database=ToolDb;Uid=root;Pwd=...;"))
{
conn.Open();
string sql = "INSERT INTO ExtractData (OriginalText, RegExPattern) VALUES (@txt, @pat)";
// 使用参数化查询,杜绝SQL注入,这是新手最容易翻车的地方
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@txt", textBox.Text);
cmd.Parameters.AddWithValue("@pat", regexTextBox.Text);
cmd.ExecuteNonQuery();
}
}
代码逻辑很简单,核心在于预处理语句的使用。这比直接拼接字符串安全得多,也是百度和必应收录高权重文章的必备安全素养。
三、核心逻辑:正则表达式与数据解析
工具的强大之处在于正则。这里我们用到了JSON/XML数据解析(虽然这里主要存的是纯文本,但返回JSON给前端是标准做法)。
比如我们要从一段乱码中提取出邮箱,代码如下:
// 简单的贪婪匹配与非贪婪匹配示例
string input = "Contact me: test@example.com or support@test.com";
Regex rgx = new Regex(@"[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}", RegexOptions.IgnoreCase);
MatchCollection matches = rgx.Matches(input);
foreach (Match match in matches)
{
// 将结果集转为Json返回给前端
resultList.Add(new { Value = match.Value });
}
四、前端与爬虫:HTML/CSS/JS的落地
前端界面我尽量做扁平化设计,减少爬虫抓取时的干扰元素(少用JS动画,保持结构清晰利于SEO)。
- HTML5 Semantic Tags:使用了header, main, article等标签,这对EMLOG等CMS主题开发也是通用的。
- CSS Flexbox:实现响应式布局,手机端体验不拉胯。
- AJAX:用Fetch API异步请求数据,不用刷新页面,提升交互感。
五、避坑指南与总结
开发过程中最大的坑其实是空指针异常和编码问题。处理UTF-8编码的网页源码时,如果不统一字符集,正则匹配会失效。此外,做接口开发时,一定要处理高并发下的死锁问题。
这款工具的源码和部署教程我都放在零点博客了。如果你在做C#/PHP后端或者MySQL操作,这篇技术笔记绝对值得你收藏,少走弯路。
觉得有用的话,欢迎在评论区留言交流!



评论一下吧
取消回复