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

网站seo解决方案wordpress安装不来

网站seo解决方案,wordpress安装不来,北京奕杰企业管理咨询有限公司,陕西建设网站电子政务大厅近期在做一个项目#xff0c;涉及到一些简单的规则匹配。规则的判定条件可以用关系表达式描述#xff0c;形如(P1|P2)(P3|P4)。其中是与#xff0c;|是或#xff0c;P1-P4是Pattern#xff0c;具体的匹配条件#xff0c;返回值是True或者False。为计算此表达式…近期在做一个项目涉及到一些简单的规则匹配。规则的判定条件可以用关系表达式描述形如(P1|P2)(P3|P4)。其中是与|是或P1-P4是Pattern具体的匹配条件返回值是True或者False。为计算此表达式的值采用中序转后序再计算表达式的值。 1. 后序表达式的生成 中序表达式转后序表达式算法 1. 用|()对原表达式进行拆分得到ListString。2. 从前往后遍历该List    1如果是一个pattern则入栈。    2如果是左括号(也入栈。    3如果是右括号        a如果此时栈为空则表示表达式解析异常报警并退出。        b如果栈不为空则依次pop栈顶元素直到匹配到左括号(。如果没有左括号(的匹配则表达式依次报警并退出。    4如果是和|        a如果栈为空直接入栈。        b如果栈不为空依次出栈直到匹配左括号左括号不出栈。再把操作符入栈。3、所有的pattern和操作符都入栈以后把栈中所有元素依次出栈就得到后序表达式。参考代码 ListString postfix new ArrayListString(); StackString stack new StackString(); String delims |(); // 支持的操作符 StringTokenizer st new StringTokenizer(rule, delims, true); while (st.hasMoreTokens()) {String tk st.nextToken();if (!delims.contains(tk)) {// pattern直接入栈postfix.add(tk);} else if (tk.equals(()) {// 左括号入栈stack.push(tk);} else if (tk.equals())) {if (stack.empty()) {// 碰到右括号如果栈为空解析异常throw new RuleException(parseRule Error!);}String val stack.pop();// 如果栈不为空依次出栈直到匹配左括号while (!val.equals(()) {postfix.add(val);if (!stack.empty()) {val stack.pop();} elsebreak;}if (stack.empty() !val.equals(()) {// 如果匹配不到左括号解析异常throw new RuleException(parseRule Error!);}} else if (tk.equals() || tk.equals(|)) {if (stack.empty()) {// 碰到操作符如果栈空则直接入栈stack.push(tk);} else {// 如果栈不为空依次出栈直到匹配左括号while (!stack.empty() !stack.lastElement().equals(()) {postfix.add(stack.pop());}// 操作符入栈stack.push(tk);}} }// 所有的pattern和操作符匹配完毕把堆栈中还有的数据依次出栈 while (!stack.empty()) {postfix.add(stack.pop()); }System.out.println(Original Rule rule); System.out.println(Postfix Rule: postfix.toString());   2. 后序表达式的计算 后序表达式的计算算法 1. 从前往后遍历中序表达式    1如果是|操作符则pop两个字段r1和r2计算r1r2或r1|r2的值r3并将r3入栈。    2如果是pattern则计算pattern的匹配结果True Or False并将结果入栈。2、中序表达式便利完毕栈中只有1个元素即为表达式结果。 参考代码 StackBoolean stack new StackBoolean(); for (String str : this.postfix) {if (str.equals()) {// pop两个pattern计算boolean r1 stack.pop();boolean r2 stack.pop();stack.push(r1 r2);} else if (str.equals(|)) {// pop两个pattern计算boolean r1 stack.pop();boolean r2 stack.pop();stack.push(r1 || r2);} else {// 计算pattern的值并push到stackPattern ptn this.patterns.get(str);stack.push(ptn.judge(fact));} }if (stack.size() 1) {return stack.pop(); } else {throw new RuleException(judge failed: postfix error!); }  转载于:https://www.cnblogs.com/simplestupid/p/4771892.html
http://www.sadfv.cn/news/153880/

相关文章:

  • 开发网站 语言曲阜住房和城乡建设局网站
  • 长沙公司做网站的价格企业网上登记注册
  • 河北省和城乡建设厅网站腾讯云的wordpress安装目录
  • seo教程技术wordpress文章分页链接优化
  • wordpress 优化版高端网站建设seo
  • 做网站在后台如何添加链接网页版html编辑器
  • 阿里云虚拟主机网站吗外贸网站主机选择
  • 织梦制作手机网站绵阳哪个网站做外卖做的好
  • 便宜虚拟主机做网站备份品牌设计公司50强
  • 福田附近网站建设上海注册公司免费地址
  • 网站建设文化怎么样asp.net做网站原理
  • 美工做图片网站html5电影网站模板
  • 惠州博罗建设局网站wordpress 小工具
  • 网站特色栏目重要性黄页88网推广服务免费
  • asp网站后台不能编辑网站整体配色方案
  • 流量与网站做网站上时需要3d预览功能
  • 大型网站seo方案发帖那个网站好 做装修的
  • 正版素材网站装饰公司简介内容
  • logo设计网站知乎移动端网站如何开发
  • 金山西安网站建设fireworks个人网站模板
  • 做二手家电网站怎样网上交易平台
  • 长沙优化网站厂家关键词优化最好的方法
  • 深圳专业集团网站建设室内装修软件哪个好
  • 浙江台州网站制作宜宾网站建设略奥网络
  • 文化传媒公司网站建设编程软件c语言
  • 环球资源网站网址域名注册好了怎么做网页
  • 怎么做公司网站seo建设主管部门官方网站
  • 网站建设找朝云科技统一企业官网
  • 做零售出口的网站企业网站定制
  • 网站设计职业工作室网络设计解决方案