jmeter基礎知識:正則表達式(regular expression)簡介

JMeter使用Apache Jakata ORO軟件進行模式匹配。和perl的非常類似。
閒話少說,趕緊看個例子:
假設你要提取的網頁中信息爲:name=“file” value=“readme.txt”>
而你想提取出: readme.txt.
使用正則表達式就可以實現: name=“file” value="(.+?)">
這個正則表達式的含義是什麼呢?
正則表達式指定了字符串應當符合怎樣的規則。而圓括號內部分是我們想要要提取的部分,在正則表達式中,普通字符通常需要完全匹配,而用特殊字符(元字符)來表達特定的匹配規則。例如 . 表示匹配任意一個字符,+表示匹配一或更多次,而?表示非貪婪匹配 ,只要找到第一個匹配結果後停止。所以上面的正則表達式表示要匹配 name=“file” value=" 和* *">**之間的長度超過1的字符串。

下面我們趕緊來看看正則表達式中的匹配語法吧。

( 和)      圓括號括着的就是要提取的部分。
 例如,字符串aa123bb用正則表達式 aa(.*)bb可以匹配成功,提	 取的部分爲123
.    匹配任意1個字符。
例如,字符串aa123bb用正則表達式 aa(...)bb可以匹配成功,提取	的部分爲123
*    匹配0或更多次。例如,zo* 能匹配z、zo 以及zoo等等。
+     匹配1或更多次。例如,zo+ 能匹配zo 以及zoo等等。
?     匹配0或更多次; 例如 a(bc)?能匹配a和abc等等
或指明非貪婪匹配,例如成功遇到第一個匹配項就返回
例如:<TD align="center" class=tdc2>0531</TD><TD>aaaa</TD>
正則式tdc2>(.+?)</TD>匹配結果爲tdc2>0531</TD>
正則式tdc2>(.+)</TD>匹配結果爲tdc2>0531</TD><TD>aaaa</TD>
|        表示或。例如 a|b,表示匹配a或者匹配b
(P|p)ython可以匹配Python或者python
^  表示行的開頭,例如,^a表示必須以字母a開頭
$  表示行的結尾,例如,\d$表示必須以數字結束
\    轉義字符。例如,n 匹配字符。\n 匹配換行符。序列 \\匹配 \,而 \( 則匹配 (。
\d        表示數字.
例如:<TD align="center" class=tdc2>0531</TD><TD>aaaa</TD>
正則式tdc2>(\d+)</TD>的匹配結果爲tdc2>0531</TD>
\w        表示數字或者字母。
例如,aa123bb與正則表達式 aa(\w+)bb匹配
{ }        重複。
{n}       表示n個字符
{n,m}   表示n-m個字符
\s         表示空白符
[ ]   表示在中括號範圍的任意字符字符集合。[0-9a-z] 表示匹配任一數字或者小寫英文字母

歡迎關注我的網易雲課程
https://study.163.com/courses-search?keyword=軟件測試123#/?ot=5

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章