regex - 带通配符的正则表达式匹配任何字符

标签 regex

我是 regex 的新手,我正在尝试想出一些与下面的文本相匹配的东西:

ABC:(z) 1999 年 1 月 2 日\n

笔记:

  • 文本总是以 "ABC:"开头
  • ':' 和 (z) 之间可能有零个、一个或多个空格。
  • (z) 的变体也是可能的 - (zz), (zzzzzz).. 等等,但总是一个
    用“()”括起来的非数字字符
  • 可能有零个,一个或多个
    (z) 和 jan 之间的空格
  • jan 可能是 jan、january 等
  • 日期可以是任何格式,并且可能/可能不包含其他文本作为其中的一部分
    我真的很想知道是否有我可以用来捕获的正则表达式
    在 '(z)' 和 '\n' 之间找到的任何东西

  • 任何帮助是极大的赞赏!谢谢

    最佳答案

    以下应该工作:

    ABC: *\([a-zA-Z]+\) *(.+)
    

    解释:
    ABC:            # match literal characters 'ABC:'
     *              # zero or more spaces
    \([a-zA-Z]+\)   # one or more letters inside of parentheses
     *              # zero or more spaces
    (.+)            # capture one or more of any character (except newlines)
    

    要根据以下评论获得所需的分组,您可以使用以下内容:
    (ABC:) *(\([a-zA-Z]+\).+)
    

    关于regex - 带通配符的正则表达式匹配任何字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12677178/

    相关文章:

    python - 如何在 python 中执行条件拆分?

    regex - 我想解释 Perl 的正则表达式引擎的行为

    c# - 正则表达式 *this close*,但仍然缺少一种符号

    python - 使用正则表达式从字符串中删除数字

    javascript - .js 和 .jsx 的 Webpack 正则表达式测试

    c# - 点之间的数字子串

    regex - 查找所有 DOM 事件监听器的正则表达式

    regex - 使用 sed 匹配除正斜杠之外的非数字

    javascript - 如何检查两个正则表达式是否相同?

    javascript - 正则表达式检查 URL 是否为主页 URL