当前位置: 首页 > wzjs >正文

成都电子商城网站开发济南网站建设老威

成都电子商城网站开发,济南网站建设老威,太仓营销型网站建设,网站建设以及运营方面之前的文章中自定义实现过一个简单的状态机, 以前想的是读取json文件, 这样读起来更方便一点, 但是后来发现过于复杂的流程如果还是用json文件作为配置文件的话就比较麻烦了, 因此, 我们需要更直观地配置文件, 正好markdown能够完美满足我们的需求 Markdown Markdown语法比较…

之前的文章中自定义实现过一个简单的状态机, 以前想的是读取json文件, 这样读起来更方便一点, 但是后来发现过于复杂的流程如果还是用json文件作为配置文件的话就比较麻烦了, 因此, 我们需要更直观地配置文件, 正好markdown能够完美满足我们的需求

Markdown

Markdown语法比较简单, 这样读起来也比较方便, 我们可以先设置一个简单的流程图, 此处我使用IDEA直接编辑的, 使用IDEA画流程图需要安装一个插件

如果画的流程图没有加载出来, 可以在确认插件安装成功后重启IDEA即可正常加载出来

制作流程图

markdown语法可以自行百度, 这是最简单的一个流程图

## 简单流程图
```mermaid
graph TDA --提交--> BB --驳回--> CB --通过--> D
```

 

读取Markdown

这里主要用到的是正则表达式来匹配Markdown的配置, 相当于我们自己指定了一个规则

这里是将读取到的配置写进了Table中, 需要引入guava依赖

<dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>31.1-jre</version></dependency>
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.Table;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class MermaidParser {public static void main(String[] args) {String filePath = "配置文件路径";Table<String, String, String> table = parseMermaid(filePath);System.out.println(table);}public static Table<String, String, String> parseMermaid(String filePath) {Table<String, String, String> table = HashBasedTable.create();try {// 1. 读取文件内容String content = Files.readString(Paths.get(filePath));// 2. 提取mermaid代码块(使用非贪婪匹配)Pattern mermaidPattern = Pattern.compile("```mermaid\\n([\\s\\S]*?)\\n```");Matcher mermaidMatcher = mermaidPattern.matcher(content);if (mermaidMatcher.find()) {String mermaidCode = mermaidMatcher.group(1);// 3. 解析每一行(允许节点包含空格)Pattern edgePattern = Pattern.compile("(.+?)\\s+--(.+?)-->\\s*(.+)");  // 关键修改点for (String line : mermaidCode.split("\\n")) {line = line.trim();Matcher m = edgePattern.matcher(line);if (m.find()) {String from = m.group(1).trim();String label = m.group(2).trim();String to = m.group(3).trim();table.put(from, label, to);}}}} catch (IOException e) {e.printStackTrace();}return table;}
}

http://www.dtcms.com/wzjs/176758.html

相关文章:

  • jquery网站右侧悬浮返回顶部带双二维码鼠标经过显示凡科建站登录
  • 深圳公司网站制作在线培训平台有哪些
  • 网站改版优化拉新工作室在哪里接项目
  • 成交型网站建设价格长沙seo就选智优营家
  • 网站代码软件新网站百度seo如何做
  • 豆芽网站建设douyanet2023年7月疫情还会严重吗
  • 大淘客优惠券网站是怎么做的河源市企业网站seo价格
  • 美食网站的设计与制作常用的关键词优化策略有哪些
  • 托管网站流量购买网站
  • 大朗网站建设企业网站建设cms
  • 网站备案信息传seo推广是做什么
  • 浙江省网站建设公司网站流量统计软件
  • 某服装企业网站建设方案中国今天刚刚发生的新闻
  • 如何进行医药网站建设重庆seo优化公司
  • 湖南智能网站建设多少钱东莞网络营销网站建设
  • 做网站维护的是什么公司专业软文发布平台
  • 双城网站建设公司谷歌关键词搜索
  • wordpress首页显示分类目录下的一个类别优化营商环境心得体会个人
  • 英文b2c网站建设百度搜索风云榜官网
  • 网站建设用什么语言上海好的seo公司
  • 做网站还能挣钱宁波seo软件免费课程
  • 改网站标题快照倒退怎么解决免费域名申请网站大全
  • 深圳网站建设黄浦网络百度快照收录
  • 如何给网站增加内链河北百度seo
  • 专门做汽车动力性测试的网站网站建设介绍ppt
  • 中济建设官方网站企业域名查询
  • 在线网站优化百度软件下载
  • 网络营销网站策划网店推广是什么
  • 日文网站建站制作企业网站的公司
  • 青岛胶南做网站的搭建网站工具