终端中Regex纵横字谜的Python实现。

regex-crossword的Python项目详细描述


正则表达式纵横字谜

License: MITPyPI pyversionsPyPI version fury.ioCode style: black

终结者欢欣鼓舞!在

基于Regex Crossword,这是一个用纯python编写的实现,只使用标准库从shell完全脱机玩游戏。在

如果您不熟悉正则表达式纵横字谜的concpet,则需要填充一个空白纵横字谜网格,以便每一行和每列都与指定的正则表达式匹配。这是一个有趣的练习,你的正则表达式的能力和一个互动的方式来学习和实践,而玩。在

我自己也是一个终端怪胎,所以当我开始玩这个很棒的在线版本的时候,我觉得很自然,需要有一个可以从shell中播放的概念版本,所以我只使用Python的curses模块。在

安装

使用Python包管理器pip安装regex_crossword。在

pip install regex_crossword

要安装刮板功能(更多信息见下文),请使用:

^{pr2}$

Note: the scraper uses the Selenium 3rd party package that might need extra setup to be used (specifically the Chrome WebDriver). If you encounter any problems I advise you to check out their installation guide.

使用

一旦安装到您的环境中,只需从终端输入regex_crossword并开始播放!在

装载水平组件

当游戏开始时,它将尝试加载“水平包”供它使用。它按降序在以下位置查找它们:

  1. 首先,它将在调用游戏命令时查找--level-packs选项指向的位置(对于所有命令的完整列表,请使用-h--help标志)。在
  2. 如果没有指定选项,它将查找REGEXCW_LEVEL_PACKS环境变量所指向的位置(如果存在)。在
  3. 最后,默认情况下,它将在当前工作目录中搜索名为level_packs的目录。在

如果所有这些都失败(或者目录没有包),将弹出一个错误,通知您没有找到级别包。在

获取水平包

在尝试获取级别包时,您有几个选项:

  • 使用--scrape标志(这需要您安装scraper额外的)。这将抓取一些在线资源,并基于它们创建级别包,供您加载到脱机版本中。在
  • 创建你自己的关卡!在

创建自己的级别包

Level packs只是遵循以下格式的JSON文件:

[{"title":"Beatles","up_to_down":["[^SPEAK]+","EP|IP|EF"],"left_to_right":["HE|LL|O+","[PLEASE]+"],},{"title":"Pisco Sour","up_to_down":["(MA|LM)","[^MESH]+"],"left_to_right":["[LINE]+","[LAM]+"],"right_to_left":["[ISLE]+","[MALE]+"],"down_to_up":["[LAME]*","[^LES]+"]},]

主文件json是一个小字典列表,每个字典都实现了一个“level”格式:

  • title-级别的标题。在
  • up_to_down-将尝试从上到下匹配列的正则表达式(从左到右指定)
  • left_to_right-将尝试从左到右匹配行的正则表达式(从上到下指定)
  • down_to_up-与up_to_down相同,但将尝试从下到上匹配列。在
  • right_to_left-与left_to_right相同,但将尝试从右到左匹配行。在

许可证

MIT

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我应该卸载Eclipse,还是只在上面安装一个新版本?   Java For Loop i++在For Loop中做什么?   java防止击键从JTable级联到顶层   java在为GUI和游戏划分类时遇到问题:GUI未连接到游戏   客户端调用时java RMI服务器ClassNotFoundException   java如何在libgdx/box2d中为特定实体强制执行最大速度?   java在Selenium Webdriver中调用href值   java IndexOutOfBounds异常向ArrayList添加项   java修剪JsonNode中的所有字符串值   带填充列表的thymeleaf中的java空索引异常   JPanel中的java插入按钮   java应该在实现中添加Javadoc注释吗?   java JNI不满意的链接错误,尽管一切似乎都很好   java使用Youtube Api V3搜索Youtube视频