【问题标题】:Regex Match all characters between text and symbols正则表达式匹配文本和符号之间的所有字符
【发布时间】:2017-05-22 07:53:19
【问题描述】:

示例:代码:123456 / 编号:AA1234567890

我想用一个 RegEX 提取 CODE,用另一个 RegEX 提取 NUMBER。我从第一个开始尝试:

(?<=CODE:)(.*)(?=/)

这个想法是在之后TRIM匹配,但是,上面的 RegEx 不起作用。我不知道为什么。

NBCODENUMBER 都可以包含数字和文本,但不能包含特殊字符和符号。每个匹配的长度始终与示例中的相同。

【问题讨论】:

  • 您必须转义正斜杠。修复空格(?&lt;=CODE:) ?(\S*) ?(?=\/)
  • 保持简单并使用多个捕获组。即CODE: ([a-zA-Z0-9]+) / NUMBER: ([a-zA-Z0-9]+)

标签: regex match


【解决方案1】:

尝试使用/ 作为分隔符:

(?:NUMBER|CODE):\s([^\s^\/.]*)

为您提供的示例捕获 123456AA1234567890

【讨论】:

    【解决方案2】:

    使用捕获组(括号)来获取每个部分。

    CODE:\s{1}(\d+) \/ NUMBER:\s{1}([A-Z,1-9]+)
    

    第一个捕获组为您提供代码,第二个为您提供编号。

    这是一个工作示例:Regex101

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-28
      相关资源
      最近更新 更多