欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基 礎(chǔ) 函 數(shù) 參 考


StringRegExp

檢查字串是否匹配指定的正則表達(dá)式.

StringRegExp ( "字符串", "表達(dá)式" [, 標(biāo)志 ] [, 偏移量 ] ] )

參 數(shù)

字符串 目標(biāo)字符串
表達(dá)式 用于比較的正則表達(dá)式.
標(biāo)志 [可選參數(shù)] 表示函數(shù)運(yùn)行方式的值. 見(jiàn)下表說(shuō)明. 默認(rèn) 0.
偏移量 [可選參數(shù)] 開(kāi)始匹配的字符串位置 (起始于1). 默認(rèn)為 1.


標(biāo)志
0 返回 1(匹配) 或 0(不匹配)
1 返回匹配的數(shù)組.
2 返回完整匹配的數(shù)組 (Perl / PHP 結(jié)構(gòu)).
3 返回全局匹配的數(shù)組.
4 返回完整匹配(Perl/ PHP 結(jié)構(gòu))和全局匹配的數(shù)組.

返 回 值

標(biāo)志 = 0 :
返回 @Error 意義
2 正則表達(dá)式錯(cuò)誤. @Extended = 正則表達(dá)式中的錯(cuò)誤偏移量.


標(biāo)志 = 1 或 2 :
返回 @Error 意義
0 有效數(shù)組. 為下一個(gè)偏移量檢查 @Extended
1 數(shù)組無(wú)效. 沒(méi)有匹配項(xiàng)目.
2 正則表達(dá)式錯(cuò)誤, 數(shù)組無(wú)效. @Extended = 正則表達(dá)式的偏移量錯(cuò)誤.


標(biāo)志 = 3 或 4 :
返回 @Error 意義
0 有效數(shù)組.
1 數(shù)組無(wú)效. 沒(méi)有匹配項(xiàng)目.
2 正則表達(dá)式錯(cuò)誤, 數(shù)組無(wú)效. @Extended = 正則表達(dá)式的偏移量錯(cuò)誤.

備 注

標(biāo)志參數(shù)可以有 5 個(gè)值(0 到 4). 0 提供 true (1) 或 false (0), 表示匹配的正則表達(dá)式方案是否建立.
1 與 2 表示找到第一個(gè)匹配, 并將其返回到數(shù)組.
3 與 4 表示找到多個(gè)匹配, 并將所有匹配文本填充到數(shù)組.
2 與 4 包括第一個(gè)完全匹配的文字記錄, 不僅是捕獲族組, 這是標(biāo)志 1 和 3 獲得的.

正則表達(dá)式表示法是搜索指定字符串的輕巧方法.
正則表達(dá)式指出應(yīng)該在目標(biāo)字串中存在的純文本字符串,
并給出一些特殊意義的字符, 表示允許目標(biāo)字符串中的某些變化.
AutoIt 的正則表達(dá)式通常區(qū)分大小寫.

正則表達(dá)式由下面所列的一個(gè)或多個(gè)簡(jiǎn)單的正則表達(dá)式說(shuō)明符組成.
如果正則表達(dá)式的某字符不在下面的表中, 則該字符將只匹配自身.

重復(fù)字符 (*, +, ?, {...} ) 將嘗試最大可能的匹配, 允許匹配跟隨其后的字符,
除非跟隨的是問(wèn)號(hào); 然后以最小模式查找后面跟隨的字符.

允許嵌套的組, 但必須記住所有的組, 除非不捕獲組, 在返回的數(shù)組中,
里面的表達(dá)式匹配的值在前, 而外面的表達(dá)式匹配的值在后.

完整的描述 請(qǐng)點(diǎn)擊這里查看

注意: 錯(cuò)誤的正則表達(dá)式可以產(chǎn)生一個(gè)無(wú)限循環(huán)而占用CPU, 甚至可以導(dǎo)致崩潰.

匹配說(shuō)明符

[ ... ] 匹配設(shè)置的任何字符.例如: [aeiou] 匹配任何小寫元音字母.
連續(xù)設(shè)置可以在開(kāi)始和結(jié)束之間使用破折號(hào). 例如: [a-z] 匹配任何小寫字符.
設(shè)置中包含破折號(hào) (-), 將其設(shè)置為第一個(gè)或最后一個(gè)字符.
在一組要包含一個(gè)右方括號(hào), 使用作為它的第一個(gè)字符. 例如: [][] 將匹配任意 [ 或 ].
注意:特殊字符在設(shè)置內(nèi)不保留他們的特有含義, 除非使用 \\, \^, \-,\[\] 匹配轉(zhuǎn)義字符.
[^ ... ] 匹配任何不在指定範(fàn)圍內(nèi)的任意字符.
例如: [^0-9] 匹配任何非數(shù)字.
要匹配 (^) 字符本身, 請(qǐng)使用 (\^).
[:class:] 在字符的給定類中匹配字符. 有效類是:
  • alpha (任何字母字符)
  • alnum (任何字母數(shù)字字符)
  • lower (任何小寫字母)
  • upper (任何大寫字母)
  • digit (任何 0-9 十進(jìn)制數(shù)字)
  • xdigit (任何十六進(jìn)制數(shù)字, 0-9, A-F, a-f)
  • space (任何空白字符)
  • blank (只有一個(gè)空格或制表符)
  • print (任何可打印字符)
  • graph (除空格外的可打印字符)
  • cntrl (任何控制字符 [ascii 127 or <32]) 或 punct (任何標(biāo)點(diǎn)字符).
    因此 [0-9] 相當(dāng)于 [[:digit:]].
[^:class:] 匹配 'class' 的第一個(gè)字符, 不匹配任何字符.
( ... ) 組. 組中的元素可按序重復(fù)處理. 例如: (ab)+ 將匹配 "ab" 或 "abab", 但不匹配 "aba".
組能保存匹配的文本, 以便由函數(shù)返回的數(shù)組后向引用, 但需取決于設(shè)定的標(biāo)志值.
(?#....) comment (not nestable).
(?i) 不區(qū)分大小寫. 該標(biāo)志對(duì)組無(wú)效. 指定正則表達(dá)式匹配時(shí)不涉及大小寫.
(?-i) (默認(rèn)) 區(qū)分大小寫. 該標(biāo)志對(duì)組無(wú)效. 指定正則表達(dá)式匹配時(shí)區(qū)分大小寫.
(?: ... ) 非捕獲組. 類似正常組, 但是不記錄數(shù)組的匹配字符, 被匹配的文本也不會(huì)用作后向引用.
(?i: ... ) 不區(qū)分大小寫的非捕獲組. 類似的非捕獲組. 在非捕獲組內(nèi)執(zhí)行不區(qū)分大小寫的匹配.
(?-i: ... ) 區(qū)分大小寫的非捕獲組. 類似的非捕獲組. 在非捕獲組內(nèi)執(zhí)行區(qū)分大小寫的匹配.
(?J) allow duplicate names.
(?m) ^ 與 $ 匹配數(shù)據(jù)內(nèi)的換行符.
(?s) . 匹配任何包含的換行符. (默認(rèn) "." 不匹配換行)
(?U) 反轉(zhuǎn)貪婪量詞.
(?x) 忽略空白區(qū)域和 # 注釋.
(?-...) unset option(s).
. 匹配除換行符以外的任意字符.
| 或句點(diǎn)" . ", 可以匹配 | 前的字符也可以匹配 | 之后的字符.
\ 轉(zhuǎn)義特殊字符 (讓它匹配實(shí)際字符), 或者引用一個(gè)特殊字符類型 (見(jiàn)下文).
\\ 匹配一個(gè)真實(shí)的反斜杠 (\).
\a 報(bào)警字符, 即 BEL 字符 (chr(7)).
\A 只匹配字符串的開(kāi)頭.
\b 代表單詞的開(kāi)頭或結(jié)尾, 也即單詞的分界處.
通常英文單詞由空格, 標(biāo)點(diǎn)符號(hào)或者換行分隔, 但 \b 并不匹配這些單詞分隔字符中的任何一個(gè), 它只是匹配一個(gè)位置
\B 匹配不是單詞開(kāi)頭或結(jié)束的位置.
\c 匹配一個(gè)控制字符, 基于下一個(gè)字符. 例如: \cM 匹配 ctrl-M.
\d 匹配數(shù)字字符 (0-9).
\D 匹配非數(shù)字字符.
\e 匹配一個(gè)轉(zhuǎn)義字符 (chr(27)).
\E 結(jié)束實(shí)例修改.
\f 匹配一個(gè)換頁(yè)符 (chr(12)).
\G first matching position in subject.
\h 任何水平空白字符.
\H 任何不是水平空白字符的字符.
\n 匹配換行符 (@LF, chr(10)).
\K reset start of match.
\N a character that is not a newline
\Q 引用(禁用)模式元字符, 直到 \E.
\r 匹配一個(gè)回車符 (@CR, chr(13)).
\R a newline sequence.
\s 匹配任何的空白字符: Chr(9) 到 Chr(13) 包括:
水平制表符, 換行, 垂直列表符, 換頁(yè), 回車以及標(biāo)準(zhǔn)空格 ( Chr(32) ).
\S 匹配任何的非空白符的字符.
\t 匹配一個(gè)制表符 (chr(9)).
\v 匹配任何垂直空白字符.
\V 匹配不是垂直白字符的任何字符.
\w 匹配字母: a-z, A-Z; 或數(shù)字: 0-9; 或下劃線 (_); 或漢字等等
\W 匹配任意不是字母, 數(shù)字, 下劃線, 漢字的字符.
\ddd 匹配八進(jìn)制字符代碼 ddd, 或如果成立則向后引用. 匹配之前給出確切的組號(hào). 例如 ([:alpha:])\1 將匹配一個(gè)連字.
\xhh 十六進(jìn)制字符代碼 hh.
\x{hhh..} 匹配十六進(jìn)制字符代碼 hhh..
\z 只匹配字符串的末尾.
\Z 只匹配字符串的末尾, 或者換行之前.

重復(fù)字符

{x} 重復(fù)前一個(gè)字符, 設(shè)置或組精確 x 次.
{x,} 重復(fù)前一個(gè)字符, 設(shè)置或組至少 x 次.
{0,x} 重復(fù)前一個(gè)字符, 設(shè)置或組最多 x 次.
{x, y} 重復(fù)前一個(gè)字符, 設(shè)置或組在 x 與 y 次之間, 包含 x, y.
* 重復(fù)前一個(gè)字符, 設(shè)置或組 0 或更多次. 等價(jià)于 {0,}
+ 重復(fù)前一個(gè)字符, 設(shè)置或組 1 或更多次. 等價(jià)于 {1,}
? 重復(fù)前一字符, 設(shè)置或組可能會(huì)或可能不會(huì)出現(xiàn). 等價(jià)于 {0, 1}
? (重復(fù)字符后) 查找最少的匹配而非最多的.

字符類別

[:alnum:] 字母和數(shù)字
[:alpha:] 字母
[:ascii:] 字符代碼 0 - 127
[:blank:] 空格或制表符
[:cntrl:] 控制字符
[:digit:] 十進(jìn)制數(shù)字 (相同于 \d)
[:graph:] 打印字符, 不包括空格
[:lower:] 小寫字母
[:print:] 打印字符, 包括空格
[:punct:] 打印字符,不包括字母和數(shù)字
[:space:] 空白空間 (不完全和 \s 相同, 它包括 VT: chr(11) )
[:upper:] 大寫字母
[:word:] "單詞" 字符 (相同于 \w)
[:xdigit:] 十六進(jìn)制數(shù)

關(guān)于 UTF-8 模式的一般注釋 (使用 AutoIt 的內(nèi)部轉(zhuǎn)換模式):

    1. 一個(gè) unbraced 十六進(jìn)制轉(zhuǎn)義序列 (例如 \xb3) 匹配一個(gè)兩字節(jié)的 UTF-8 字符(如果該值大于 127).

    2. 八進(jìn)制數(shù)測(cè)試高達(dá) \777, 匹配值大于 \177 的兩字節(jié) UTF-8 字符.

    3. 重復(fù)量詞適用于完整的 UTF-8 字符, 而不是單個(gè)字節(jié), 例如: \x{100}{3}.

    4. (句)點(diǎn)元字符匹配一個(gè) UTF-8 字符, 而不是單字節(jié).

    5. 字符轉(zhuǎn)義 \b, \B, \d, \D, \s, \S, \w, 與 \W 正確測(cè)試任何代碼值的字符,
但 PCRE 字符作為數(shù)字, 空格, 或"字"字符仍然和以前一樣設(shè)置, 所有的值小于 256.
請(qǐng)注意, 這也適用于 \b, 因?yàn)樗欢x在 \w 與 \W 條件中.

    6. 同樣, 符合 POSIX 命名字符類的是所有低位值的字符.

    7. 然而 Perl 5.10 水平和垂直空白匹配轉(zhuǎn)義 (\h, \H, \v, 與 \V) 符合所有相應(yīng)的 Unicode 字符.

    8. 不區(qū)分大小寫的匹配只適用于字符值小于 128.
PCRE 支持不區(qū)分大小寫的匹配僅適用于字符有(one-to-one)一對(duì)一的映射時(shí).
PCRE 不支持 Unicode 的 (many-to-one)多對(duì)一映射部分.

相 關(guān) 函 數(shù)

StringInStr, StringRegExpReplace

函 數(shù) 示 例


; ***********************************
; 以下為官方示例:
; ***********************************

;選項(xiàng) 1, 使用偏移量
Local $nOffset = 1

Local $array
While 1
    $array = StringRegExp('<test>a</test> <test>b</test> <test>c</Test>', '<(?i)test>(.*?)</(?i)test>', 1, $nOffset)

    If @error = 0 Then
        $nOffset = @extended
    Else
        ExitLoop
    EndIf
    For $i = 0 To UBound($array) - 1
        MsgBox(0, "正則表達(dá)式選項(xiàng) 1 測(cè)試 " & $i, $array[$i])
    Next
WEnd


;選項(xiàng) 2, 單返回, php/preg_match() 樣式
$array = StringRegExp('<test>a</test> <test>b</test> <test>c</Test>', '<(?i)test>(.*?)</(?i)test>', 2)
For $i = 0 To UBound($array) - 1
    MsgBox(0, "正則表達(dá)式選項(xiàng) 2 測(cè)試 " & $i, $array[$i])
Next


;選項(xiàng) 3, 全程返回, 舊的 AutoIt 樣式
$array = StringRegExp('<test>a</test> <test>b</test> <test>c</Test>', '<(?i)test>(.*?)</(?i)test>', 3)

For $i = 0 To UBound($array) - 1
    MsgBox(0, "正則表達(dá)式選項(xiàng) 3 測(cè)試 " & $i, $array[$i])
Next


;選項(xiàng) 4, 全程返回, php/preg_match_all() 樣式
$array = StringRegExp('F1oF2oF3o', '(F.o)*?', 4)

For $i = 0 To UBound($array) - 1

    Local $match = $array[$i]
    For $j = 0 To UBound($match) - 1
        MsgBox(0, "正則表達(dá)式選項(xiàng) 4 測(cè)試 " & $i & ',' & $j, $match[$j])
    Next
Next

provider with jb51.net (unicode)