JMeter教程系列(四)-正则表达式

在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号“-”,最后是7或8位数字的字符串(像010-12345678或0376-7654321)

Jmeter的正则表达式实际类似于Perl5中定义的正则表达式

参考资料

http://archimedes.fas.harvard.edu/scrapbook/jakarta-oro-2.0.6/docs/api/org/apache/oro/text/regex/package-summary.html

https://deerchao.cn/tutorials/regex/regex.htm 

 | 匹配或规则,逻辑或运算

量化的元字符

  {}大括号匹配重复次数

  {n,m} -匹配至少n次,但不大于m次  

  {n,} -匹配至少n次

  {n,} -匹配正好n次

  星号* -匹配0次或多次

  加号+ -匹配1次或多次

  问号? -匹配0次或1次

元字符

  点号. -匹配任意一个字符,除了回车键 ,如果要匹配元字符,需要加反斜杠

  ^ -匹配行开始的空字符串,也表示不在列表范围内的字符,位置符号

  $ -匹配行结束的空字符串,位置符号

  字符类[abcd]或字符范围[a-z]

    特殊反斜杠字符在字符类中有效(除了反引用和边界)

    在字符类中代表退格

  反斜杠字符

     匹配词两边的空字符串,位置符号

    B 匹配不是词两边的空字符串,位置符号

    A 匹配字符串的起始

     匹配字符串的结尾

     匹配换行

     匹配回车

     匹配tab

    f 匹配换页

    d 匹配数字[0-9]

    D 匹配不是数字[^0-9]

    w 匹配字母,数字,下划线[0-9a-z_A-Z]

    W 匹配不是字母,数字,下划线[^0-9a-z_A-Z]

    s 匹配空格符[ f]

    S 匹配非空格符[^ f]

    xnn 匹配十六进制字符

默认的匹配是贪婪的,也就是尽可能多的去匹配,如果想要最小化匹配,需要在元字符后面使用问号?,比如

  *? 匹配0或多次,但尽可能少重复

  +? 匹配1或多次,但尽可能少重复

  ?? 匹配0或1次,但尽可能少重复

  {n}? 匹配重复n次,但尽可能少重复

  {n,}? 匹配重复至少n次,但尽可能少重复

  {n,m}? 匹配重复至少n次,但不大于m次,但尽可能少重复

原文地址:https://www.cnblogs.com/happyuu-2019/p/13626792.html