当前位置: 首页 > 面试题库 >

点正则表达式搜索

嵇浩淼
2023-03-14
问题内容

我需要找到PyPI与特定正则表达式匹配的所有软件包:

^django-.*?admin.*$

基本上,包的名字应该与启动django-,并有admin后话。例如,以下软件包应匹配:

django-redis-admin
django-admin-ckeditor 
django-admintools-bootstrap

我可以做pip search django-,但是有很多我不感兴趣的软件包。

是否pip提供通过正则表达式查找软件包的方法?或者,我应该只是通过管道django-传递结果grep来过滤掉无关的包?

此外,可能是一个的“交集” pip search django-,并pip search admin有助于太。


问题答案:

alecxe,我相信这是您要寻找的一线客。

pip search django | grep -P "^django-(?=[-\w]*?admin)[-\w]+"

如下面评论中铬酸盐所建议的那样,您可以根据需要轻松地通过管道进行排序

pip search django | grep -P "^django-(?=[-\w]*?admin)[-\w]+" | sort

让我知道您是否需要任何调整。

说明

在将命令|输出重定向pip<stdin>grep命令的管道之后,我们在Perl模式下输入grep
-P。这是必要的,否则我们将不被允许使用前瞻。

我们将模式锚定在字符串的开头,^并立即将其django-作为文字匹配。然后我们断言(超前),在这个位置上,我们将能够匹配任意数量的破折号或单词字符(包括数字和下划线),然后是文字字符串admin

做出此断言(这是一种验证形式)后,我们现在现在尽可能地匹配破折号和单词字符,这将使我们到达模块名称的末尾。

有几种表达方式,对于这种简单的模式,变化很大程度上取决于喜好或情绪。

如果您想更改此设置以匹配django-包含的模式someword,只需将其替换adminsomeword

输出

    django-smoke-admin        - django-smoke-admin tests that all admin pages for all registered models responds correctly (HTTP 200).
    django-adminskin          - UNKNOWN
    django-admin-exporter     - Simple admin actions to download/export selected items in CSV, JSON, XML, etc.
    django-treeadmin-fork-alt-storage - Tree UI for mptt-managed models, extracted from FeinCMS. This is a fork with support for alternative storage engines
    django-relatedadminwidget - Get edit and delete links in your django admin. A utility class to let your model admins inherit from.
    django-admin-langswitch   - Adds easy language switch in admin
    django-authy-admin        - A drop in replacement for django's default admin site that provides two-factor authentication via authy's REST API.
    django-frontendadmin      - A a set of templatetags to allow an easy and unobstrusive way to edit model-data in the frontend of your page.
    django-admin-app-names-singleton - Django admin enhancer
    django-mobileadmin        - The Django admin interface for mobile devices.

(列表继续。)

顺便说一句,查看点子搜索文档,如果没有管道,我看不到这样做的方法。



 类似资料:
  • 问题内容: 因此,我对 正则表达式 完全 陌生 ,并且正在尝试使用Java 来查找输入字符串中的标点符号。我不知道会提前得到哪种标点符号,只是(1)!,?,。,…都是有效的标点符号,以及(2)“ <”和“>”表示特殊含义,并且不算作标点符号。该程序本身会伪随机地构建短语,我想在它经历随机过程之前先删除句子结尾处的标点符号。 我可以用任何标点符号匹配整个单词,但匹配器只为我提供该单词的索引。换一种说

  • 问题内容: 首先,我阅读以下文档 http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html 而且我想找到除@’之外的任何标点符号,但我不太了解。 这是 : 结果是没有匹配。 是否有任何不匹配? 谢谢 MRizq 问题答案: 您要匹配两个字符,而不是一个。使用(负)前瞻应解决以下任务:

  • 问题内容: 我需要在给定正则表达式的字符串中找到所有匹配项。我一直在这样做,直到遇到一个案例,它没有达到我的预期。例如: 在这种情况下,返回我需要的内容(最长的匹配项),但是行为却有所不同,尽管文档暗示它应该是相同的: 匹配所有出现的模式,而不仅仅是第一个。 为什么行为不同? 如何获得with (或其他方式)的结果? 问题答案: 好的,我从文档中查看发生了什么…… 如果该模式中存在一个或多个组,则

  • 昨天,我需要向正则表达式添加一个文件路径,创建一个如下所示的模式: 一开始正则表达式不匹配,因为包含几个正则表达式特定的符号,如 或 。作为快速修复,我将它们替换为 和 . 与 . 然而,我问自己,是否没有一种更可靠或更好的方法来清除正则表达式特定符号中的字符串。 Python 标准库中是否支持此类功能? 如果没有,您是否知道一个正则表达式来识别所有正则表达式并通过替代品清理它们?

  • 问题内容: 我有一个任务要匹配浮点数。我为此编写了以下正则表达式: 但是,它返回一个错误: 据我所知,我们还需要使用转义字符.。请纠正我哪里我错了。 问题答案: TL; DR 使用[.]代替.和[0-9]代替\d以避免在某些语言(例如Java)中转义问题。 感谢无名的人最初认识到这一点。 匹配浮点数的一种相对简单的模式是 这将匹配: 查看工作示例 如果您还想匹配123.(无小数点的句点),则需要稍