整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          jmeter(十五)-正則表達式提取器

          jmeter(十五)-正則表達式提取器

          則表達式提取器(Regular Expression Extractor)

          sampler請求的服務器響應結果中通過正則表達式提取值所需值,生成模板字符串,并將結果存儲到給定的變量名中。

          界面如下:

          正則表達式提取器界面

          • Apply to:作用范圍(返回內容的斷言范圍)

          1)Main sample and sub-samples:作用于主節點的取樣器及對應子節點的取樣器

          2)Main sample only:僅作用于主節點的取樣器

          3)Sub-samples only:僅作用于子節點的取樣器

          4)JMeter Variable:作用于jmeter變量(輸入框內可輸入jmeter的變量名稱),從指定變量值中提取需要的值。

          • Field to check:要檢查的響應報文的范圍

          1)主體:響應報文的主體,最常用

          2)Body(unescaped):主體,是替換了所有的html轉義符的響應主體內容,注意html轉義符處理時不考慮上下文,因此可能有不正確的轉換,不建議使用

          3)Body as a Document:從不同類型的文件中提取文本,注意這個選項比較影響性能

          4)Response Headers(信息頭):響應信息頭(

          5)Request Headers:請求信息頭

          6)URL:請求url

          7)Response Code(響應代碼):響應狀態碼,比如200、404等

          8)Response Message(響應信息):響應信息

          • 引用名稱(Names of created variables):

          Jmeter變量的名稱,存儲提取的結果;即下個請求需要引用方法是${變量名}。

          • 正則表達式(Regular Expression):

          使用正則表達式解析響應結果,()括號表示提取字符串中的部分值,前后是提取的邊界內容。

          常用正則表達式:(.*?)表示匹配任意長度的任意字符,是最常用的正則表達式,基本能滿足80%場景要求

          • 模板(Template):

          正則表達式的提取模式。如果正則表達式有多個提取結果,則結果是數組形式,模板$,$等等,表示把解析到的第幾個值賦給變量;從1開始匹配,以此類推。

          若只有一個結果,則只能是$;有多個結果,可以使用$$方式取2個值。

          • 匹配數字(Match No.(0 for Random)):

          正則表達式匹配數據的結果可以看作一個數組,表示如何取值:

          1)0代表隨機取值,默認

          2)正數n表示取第n個值,(1:第一個值

          3)負數表示提取所有符合條件的值,(-1:所有

          • 缺省值(Default Value):

          匹配不到值的時,取該值;

          • 使用空默認值(Use empty default value):

          勾選后,提取不到值時,則返回空字符串。

          Field to check 詳細樣例

          1)主體(body)

          2)Response Headers(信息頭)

          3)Request Headers:請求信息頭

          4)URL

          5)Response Code(響應代碼)和Response Message(響應信息)

          提取某個特定的值的例子

          正則表達式提取器如下:

          測試結果:

          調試取樣器

          使用變量,也可以通過變量名_g直接進行提取,如下:

          一條正則表達式匹配多個值

          正則表達式提取器

          測試結果:

          1.1.1.4. 一條正則表達式有多個匹配值

          正式表達式:

          備注:多個模板( $$ )的時候,可以用空格、,.- 連接模板

          測試結果:

          備注:在調試過程中可結果察看結果樹和Debug sample來幫助分析結果。

          《大數據和人工智能交流》頭條號向廣大初學者新增C 、Java 、Python 、Scala、javascript 等目前流行的計算機、大數據編程語言,希望大家以后關注本頭條號更多的內容。

          數據溢出、轉義符、char和數字運算等總結

          1.有關數據溢出的問題

          public class add

          {

          public static void main(String args[])

          {

          byte b1=(byte) 1;

          byte b2=(byte) 127;

          byte b3=(byte) (b1 + b2);

          System.out.println("result="+ b3);

          }

          }

          2.有關數字的補碼問題


          -128,byte只有八位,只能表示-128--127計算機中負數的存儲方式是補碼。對負數的絕對值的二進制值取反,再加一,即為負數的二進制碼。

          如:-1的絕對值1的二進制碼為00000001,取反得到11111110,再加一為11111111。-128的絕對值128的二進制碼為10000000,

          取反得到01111111,再加一為10000000,正好是Byte的最大表示范圍。第一位為符號位,0表示為正數,1為負數.例如00000001表示為1,

          而10000001表示為-127(記錄符號位為-,取后面七位取反加一,再加上符號位),128(100000000)符號位為1,是負數,取后面0000000

          取反為1111111,加一即為128,加上負號,即為-128


          3.有關數據過長的問題

          public class DataDemo01{

          public static void main(String args[]){

          int num=9999999999999999999999999999999 ;

          }

          };

          4.有關字符和數字運算問題

          public class DataDemo04{

          public static void main(String args[]){

          char ch1='a' ; // 字符是使用"'"括起來的數據

          char ch2=97 ; // 通過數字定義字符變量

          System.out.println("ch1=" + ch1) ;

          System.out.println("ch2=" + ch2) ;

          }

          }


          5.有關轉義符的問題

          public class DataDemo05{

          public static void main(String args[]){

          char ch1='\"' ; // 表示的是一個"

          char ch2='\' ; // 表示的是一個\

          System.out.println("ch1=" + ch1) ;

          System.out.println("ch2=" + ch2) ;

          System.out.println("\"Hello World!\"") ;

          }

          };

          6.程序的執行過程


          (1) 找到main方法加載到內存區 (2)

          硬盤(裝有程序)---------------------------->內存代碼包括操作系統代碼和應用程序代碼


          (3)

          ---------------------------->執行過程中的內存管理:包括heap、stack、data segment、code segment


          heap堆: new出來的東西放在堆里面

          stack棧:局部變量

          data segment:靜態變量、字符串常量

          code segment:存放代碼


          7.java語言整型常量的三種表現形式:

          (1)十進制

          (2)八進制:要求以0開頭,例如 012

          (3)十六進制:要求以0X開頭,例如0x12

          8.浮點型誤差的問題

          浮點型在計算機中是有誤差的,比如0.1可能用0.9999999999999999來模擬,在第幾位產生誤差叫作

          浮點數的精度float的精度應該在7位,小數點7位以后數就不精確了;double應該在小數點以后15位

          浮點數在計算機中表述一定是離散的,而現實中的浮點數是連續的

          所以

          float f=1.23f;

          if( f==1.23f)//錯

          {

          }

          8.變量舉例

          public class TestVar2 {

          public static void main(String[] args) {

          boolean b=true;

          int x, y=9;

          double d=3.1415;

          char c1, c2;

          c1='\u534e';

          c2='c';

          x=12;

          System.out.println("b=" + b);

          System.out.println ("x=" + x + ",y=" + y);

          System.out.println("d=" + d);

          System.out.println("c1=" + c1);

          System.out.println("c2=" + c2);

          }

          }

          9. 利用char和數字之間的混合運算編寫個加密程序

          提示 char ch='a' 加密后 char ch1=(char)('a'+6)


          《大數據和人工智能交流》的宗旨

          1、將大數據和人工智能的專業數學:概率數理統計、線性代數、決策論、優化論、博弈論等數學模型變得通俗易懂。

          2、將大數據和人工智能的專業涉及到的數據結構和算法:分類、聚類 、回歸算法、概率等算法變得通俗易懂。

          3、最新的高科技動態:數據采集方面的智能傳感器技術;醫療大數據智能決策分析;物聯網智慧城市等等。

          根據初學者需要會有C語言、Java語言、Python語言、Scala函數式等目前主流計算機語言。

          根據讀者的需要有和人工智能相關的計算機科學與技術、電子技術、芯片技術等基礎學科通俗易懂的文章。

          假如有這樣一個需求:要求將給定的一個文件路徑 D:\bianchengsanmei\blogs\categories\JavaScript 在頁面展示出來。

          最基本的實現方法可能是下面這個:

          <body>
              <div id="container"></div>
          </body>
          
          const filePath="D:\bianchengsanmei\blogs\categories\JavaScript";
          document.querySelector("#container").innerText=filePath;
          

          如果真能這么簡單就實現的話,那我這篇文章到這里就結束了,這是要寫個寂寞嗎?

          結束是不可能結束的,不信,你看看輸出結果:

          顯然,我們很多時候會忘記有轉義符這回事。

          因為在 HTML 網頁里,像 >、<、 等字符是有特殊含義的,再加上有些字符在 ASCII 字符集中沒有定義,因此需要使用轉義字符串來表示。

          要想正確顯示,應該這么寫:

          const filePath="D:\\bianchengsanmei\\blogs\\categories\\JavaScript";
          document.querySelector("#container").innerText=filePath;
          

          轉義符 + "\" 表示的是字符串 \。

          我今天寫這篇文章的意思呢,就是推薦給大家另外一種實現方法。

          String.raw 簡介

          String.raw() 是一個模板字符串的標簽函數,用來獲取一個模板字符串的原始字符串的,比如說,占位符(例如 ${foo})會被處理為它所代表的其他字符串,而轉義字符(例如 \n)不會。

          語法

          String.raw(callSite, ...substitutions)
          String.raw`templateString`
          

          參數

          • callSite 一個模板字符串的“調用點對象”。類似{ raw: ['foo', 'bar', 'baz'] }。
          • ...substitutions 任意個可選的參數,表示任意個內插表達式對應的值。
          • templateString 模板字符串,可包含占位符(${...})。

          返回值

          給定模板字符串的原始字符串。

          使用示例

          以下是一些關于 String.raw 的使用示例:

          String.raw`Hi\n${2+3}!`;
          // 'Hi\\n5!',Hi 后面的字符不是換行符,\ 和 n 是兩個不同的字符
          
          String.raw `Hi\u000A!`;
          // "Hi\\u000A!",同上,這里得到的會是 \、u、0、0、0、A 6個字符,
          // 任何類型的轉義形式都會失效,保留原樣輸出,不信你試試.length
          
          let name="Bob";
          String.raw `Hi\n${name}!`;
          // "Hi\\nBob!",內插表達式還可以正常運行
          
          
          // 正常情況下,你也許不需要將 String.raw() 當作函數調用。
          // 但是為了模擬 `t${0}e${1}s${2}t` 你可以這樣做:
          String.raw({ raw: 'test' }, 0, 1, 2); // 't0e1s2t'
          // 注意這個測試, 傳入一個 string, 和一個類似數組的對象
          // 下面這個函數和 `foo${2 + 3}bar${'Java' + 'Script'}baz` 是相等的.
          String.raw({
            raw: ['foo', 'bar', 'baz']
          }, 2 + 3, 'Java' + 'Script'); // 'foo5barJavaScriptbaz'
          

          實現需求

          我們使用 String.raw 來實現以下文章開頭的需求:

          const filePath=String.raw`D:\bianchengsanmei\blogs\categories\JavaScript`;
          document.querySelector("#container").innerText=filePath;
          

          正確顯示:

          可以看到,使用 String.raw 可以原汁原味的輸出期望結果,再也不會因為轉義字符的原因導致各種預期之外的結果。

          總結

          我們可以使用 String.raw 來保證模板字符的輸出結果是原始值。

          ~

          ~本文完,感謝閱讀!

          ~

          學習有趣的知識,結識有趣的朋友,塑造有趣的靈魂!

          大家好,我是〖編程三昧〗的作者 隱逸王,我的公眾號是『編程三昧』,歡迎關注,希望大家多多指教!

          你來,懷揣期望,我有墨香相迎! 你歸,無論得失,唯以余韻相贈!

          知識與技能并重,內力和外功兼修,理論和實踐兩手都要抓、兩手都要硬!


          主站蜘蛛池模板: 内射白浆一区二区在线观看 | 日韩AV片无码一区二区不卡| 夜夜嗨AV一区二区三区| 一区二区三区观看| 一区二区免费在线观看| 福利一区国产原创多挂探花| 日韩一区二区三区视频| 日本韩国黄色一区二区三区| 日本在线视频一区| 国产在线精品一区二区夜色| 亚洲色大成网站www永久一区| 国产AV一区二区三区无码野战| 亚洲AV本道一区二区三区四区| 日韩精品乱码AV一区二区| 老熟女高潮一区二区三区| 亚洲综合一区二区三区四区五区| 欧美日韩精品一区二区在线视频| 国产精品亚洲综合一区在线观看 | 国产成人精品一区二区三区无码| 日本一区午夜艳熟免费| 国产精品伦一区二区三级视频| 日韩好片一区二区在线看| 国产精品第一区揄拍| 国产一区二区三区在线看片 | 国产一区二区三区免费观在线| 国产一区二区三区乱码| 精品人妻AV一区二区三区| 国内精自品线一区91| 亚洲成人一区二区| 亚洲AV无码一区东京热久久| 亚洲日韩AV无码一区二区三区人| 国产成人免费一区二区三区| 国产一区二区三区免费观在线| 日本一区二区在线播放| AV天堂午夜精品一区二区三区| 一区二区三区中文字幕| 人妻无码第一区二区三区| 国产福利日本一区二区三区| 国产伦精品一区二区免费| 日韩一区精品视频一区二区| 国产伦精品一区二区三区四区 |