gpt4 book ai didi

用于提取标记的 Python 正则表达式

转载 作者:行者123 更新时间:2023-11-28 22:53:57 25 4
gpt4 key购买 nike

我试图找到所有看起来像 abc_rtyabc_45abc09_23kabc09-K344535。标记不应以 _- 或数字开头。

我没有取得任何进步,甚至失去了我取得的进步。这就是我现在拥有的:

r'(?<!0-9)[(a-zA-Z)+]_(?=a-zA-Z0-9)|(?<!0-9)[(a-zA-Z)+]-(?=a-zA-Z0-9)\w+'

为了使问题更清楚这里是一个例子:如果我有一个字符串如下:

    D923-44 43 uou 08*) %%5 89ANB -iopu9 _M89 _97N hi_hello

然后它将接受

    D923-44 and 43 and uou and hi_hello

应该忽略

    08*) %%5 89ANB -iopu9 _M89 _97N

我可能遗漏了一些案例,但我认为文字就足够了。如果不是,请道歉

最佳答案

^(\d+|[A-Za-z][\w_-]*)$

Regular expression visualization

Edit live on Debuggex

用空格分隔符分隔行,然后通过该行运行此 REGEX 以进行过滤。

  • ^ 是行的开始
  • \d 表示数字[0-9]
  • +表示一个或多个
  • | 表示或
  • [A-Za-z]第一个字符必须是字母
  • [\w_-]* 后面可以有任何字母数字 _ + 字符,也可以什么都没有。
  • $表示行尾

REGEX 的流程显示在我提供的图表中,这在一定程度上解释了它是如何发生的。

但是,我无法解释,基本上它会检查它是否全是数字,或者它是否以字母(大写/小写)开头,然后在该字母之后检查任何字母数字 _ + 字符,直到行尾。

关于用于提取标记的 Python 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18750680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com