通过正则表达式的值提取 - JMeter的(Value extraction by REGEX -

2019-10-21 08:29发布

我想提取由破折号delimitered以下串行代码的每一部分“ - ”在JMeter的分离正则表达式提取器。

串行代码: cdaf57ce-1a50-42fc-b548-2c84ad7911a8

预期的结果是:

Regular Expression Extractor 1: cdaf57ce
Regular Expression Extractor 2: 1a50
Regular Expression Extractor 3: 42fc
Regular Expression Extractor 4: b548
Regular Expression Extractor 5: 2c84ad7911a8

我想每个以下的正则表达式:

Regular Expression Extractor 1: (\w{8})-
Regular Expression Extractor 2: [^(\w{8})]-(\w{4})-[^(\w{4})]-[^(\w{4})]-[^(\w{12})]
Regular Expression Extractor 3: [^(\w{8})]-[^(\w{4})]-(\w{4})-[^(\w{4})]-[^(\w{12})]
Regular Expression Extractor 4: [^(\w{8})]-[^(\w{4})]-[^(\w{4})]-(\w{4})-[^(\w{12})]
Regular Expression Extractor 5: -(\w{12})

第一次和最后的正常工作,但另一些则没有。

谢谢

Answer 1:

正则表达式提取器可以被用作,

user_variables_g1 = cdaf57ce
user_variables_g2 = 1a50
user_variables_g3 = 42fc
user_variables_g4 = b548
user_variables_g5 = 2c84ad7911a8

将输出



Answer 2:

(\w+)(?:-|$)

尝试this.This应该做it.See演示。

http://regex101.com/r/gJ4uX1/2



Answer 3:

一个简单的正则表达式,如:

([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})

应精细工作 - 的各个部分可从比赛中所捕获的基团而获得。

如果必须使用单独的正则表达式的每个部分,那么你就需要做一些像

  1. \b[0-9a-f]{8}
  2. (?<=[0-9a-f]{8}-)[0-9a-f]{4}
  3. (?<=[0-9a-f]{8}-[0-9a-f]{4}-)[0-9a-f]{4}
  4. (?<=[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-)[0-9a-f]{4}
  5. (?<=[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-)[0-9a-f]{12}

这是在使用回顾后,这是不是最有效的结构,(在所有正则表达式引擎不支持),但应该工作。 \ b词边界一致

向前看符号是另一种方式 - 和更好的支持:

  1. [0-9a-f]{8}(?=-)
  2. [0-9a-f]{4}(?=-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b)
  3. [0-9a-f]{4}(?=-[0-9a-f]{4}-[0-9a-f]{12}\b)
  4. [0-9a-f]{4}(?=-[0-9a-f]{12}\b)
  5. [0-9a-f]{12}\b


Answer 4:

您使用的一个领域,以验证该串行代码试试这个简单的正则表达式:

^[a-zA-Z0-9]{8}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{12}$

火柴:

cdaf57ce-1a50-42fc-b548-2c84ad7911a8

CDAF57CE-1A50-42FC-B548-2C84AD7911A8

12asCda1-23ON-324F-Bse3-htskjas1234q



文章来源: Value extraction by REGEX - JMeter