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

我设计的字符串

遇到的问题

最初字符串是这样的:“hello world”
如何表示换行符呢?于是有了转义符:"\n"
想要说:she said:“hello” → 边界符冲突
想要说:C:\abc\123.txt → 转义符冲突
更变态的需求,再套一层:
第一层:print("hello\n")
第二层:print("print(\"hello\\n\")")
第三层:print("print(\"print(\\\"hello\\\\n\\\")\")")

我的设计

25" \25 "25
以数字(如25)或一个标识符,做为双引号的前缀。
转义符相应地就从反斜线变成了\25,右边界符变成了"25。
上述套三层的例子,用新的设计写出来就是这样:
第一层:print(“hello\n”)
第二层:print(1"print(“hello\n”)"1)
第三层:print(2"print(1"print(“hello\n”)"1)"2)
再多套几层也可以,不会出现4个反斜线,甚至8个、16个反斜线的情况。

如何实现

也需要用有限状态机,但和正则表达式等价的那种有限状态机,恐怕不能完成任务。需要手写有限状态机,并在适当的位置添加代码。例如,前缀25需放在一个变量里,判断是不是转义符和右分界符时,结合这个变量来处理。

已有的研究显示,用“函数族”可以代替有限状态机。例如,正则表达式/\d+/对应的有限状态机,可以先用一个函数实现判断是否数字,再用一个函数实现量词+,在函数2中调用函数1,即可实现/\d+/的功能。在手写有限状态机的过程中,可适当使用函数族。

http://www.dtcms.com/a/559102.html

相关文章:

  • 遗传算法求解VRPTW问题MATLAB编程
  • 洛阳自助建站wordpress集成当面付
  • wordpress网站重定向张家界网站定制
  • 网站安全网站建设会议验收
  • 广州越秀建网站厦门互联网公司排名
  • 网站维护流程图做pop网站
  • 网站建设需要什么证书凤凰军事新闻
  • 怎样进行网站建设步骤作品集展示的网站源码
  • 网站开发如何设置视频株洲网站建设的公司
  • 美食健康网站的建设新网站建设代理商
  • 做企业的网站都要准备什么手续站长工具精华
  • MovieNet (paper) :推动电影理解研究的综合数据集与基准
  • 浮点数运算的陷阱:深度解析精度损失与数值溢出
  • 网站中搜索栏怎么做的建设银行广达行网站
  • 网站备案号 有效期涞水县住房和城乡建设局网站
  • 免费做会计试题网站免费模板下载网站推荐
  • 济宁最新通知今天邢台一天seo
  • 如何建设网站并与数据库相连wordpress主题信息
  • 做名片素材网站传智播客php网站开发实例教程
  • 网页设计 网站开发 网络安全网站改版 大量旧页面
  • 贵州建设厅网站首页不同程序建的网站风格
  • 电子商务网站建设与管理感想和收获广告代运营
  • 广东网站建设联系电话企业网站建设外包服务合同
  • 房产集团公司网站建设方案WordPress访问mysql慢
  • 使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 22--数据驱动--参数化处理 Json 文件
  • 只做山寨的网站网站建设推广公司排名
  • 网站开发需求文档案例单位网站怎么做
  • 网站开启微信支付功能asp网站 底部版权所有
  • AI对生物信息学的影响!
  • 如何查看网站语言中国高端网站建设