⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 regexp.test

📁 tcl是工具命令语言
💻 TEST
📖 第 1 页 / 共 2 页
字号:
test regexp-8.3 {case conversion in regsub} {    set foo 123    list [regsub a(a+) xaAAaAAay & foo] $foo} {0 xaAAaAAay}test regexp-8.4 {case conversion in regsub} {    set foo 123    list [regsub -nocase a CaDE b foo] $foo} {1 CbDE}test regexp-8.5 {case conversion in regsub} {    set foo 123    list [regsub -nocase XYZ CxYzD b foo] $foo} {1 CbD}test regexp-8.6 {case conversion in regsub} {    set x abcdefghijklmnopqrstuvwxyz1234567890    set x $x$x$x$x$x$x$x$x$x$x$x$x    set foo 123    list [regsub -nocase $x $x b foo] $foo} {1 b}test regexp-9.1 {-all option to regsub} {    set foo 86    list [regsub -all x+ axxxbxxcxdx |&| foo] $foo} {4 a|xxx|b|xx|c|x|d|x|}test regexp-9.2 {-all option to regsub} {    set foo 86    list [regsub -nocase -all x+ aXxXbxxcXdx |&| foo] $foo} {4 a|XxX|b|xx|c|X|d|x|}test regexp-9.3 {-all option to regsub} {    set foo 86    list [regsub x+ axxxbxxcxdx |&| foo] $foo} {1 a|xxx|bxxcxdx}test regexp-9.4 {-all option to regsub} {    set foo 86    list [regsub -all bc axxxbxxcxdx |&| foo] $foo} {0 axxxbxxcxdx}test regexp-9.5 {-all option to regsub} {    set foo xxx    list [regsub -all node "node node more" yy foo] $foo} {2 {yy yy more}}test regexp-9.6 {-all option to regsub} {    set foo xxx    list [regsub -all ^ xxx 123 foo] $foo} {1 123xxx}test regexp-10.1 {expanded syntax in regsub} {    set foo xxx    list [regsub -expanded ". \#comment\n  . \#comment2" abc def foo] $foo} {1 defc}test regexp-10.2 {newline sensitivity in regsub} {    set foo xxx    list [regsub -line {^a.*b$} "dabc\naxyb\n" 123 foo] $foo} "1 {dabc\n123\n}"test regexp-10.3 {newline sensitivity in regsub} {    set foo xxx    list [regsub -line {^a.*b$} "dabc\naxyb\nxb" 123 foo] $foo} "1 {dabc\n123\nxb}"test regexp-10.4 {partial newline sensitivity in regsub} {    set foo xxx    list [regsub -lineanchor {^a.*b$} "da\naxyb\nxb" 123 foo] $foo} "1 {da\n123}"test regexp-10.5 {inverse partial newline sensitivity in regsub} {    set foo xxx    list [regsub -linestop {a.*b} "da\nbaxyb\nxb" 123 foo] $foo} "1 {da\nb123\nxb}"test regexp-11.1 {regsub errors} {    list [catch {regsub a b} msg] $msg} {1 {wrong # args: should be "regsub ?switches? exp string subSpec ?varName?"}}test regexp-11.2 {regsub errors} {    list [catch {regsub -nocase a b} msg] $msg} {1 {wrong # args: should be "regsub ?switches? exp string subSpec ?varName?"}}test regexp-11.3 {regsub errors} {    list [catch {regsub -nocase -all a b} msg] $msg} {1 {wrong # args: should be "regsub ?switches? exp string subSpec ?varName?"}}test regexp-11.4 {regsub errors} {    list [catch {regsub a b c d e f} msg] $msg} {1 {wrong # args: should be "regsub ?switches? exp string subSpec ?varName?"}}test regexp-11.5 {regsub errors} {    list [catch {regsub -gorp a b c} msg] $msg} {1 {bad switch "-gorp": must be -all, -nocase, -expanded, -line, -linestop, -lineanchor, -start, or --}}test regexp-11.6 {regsub errors} {    list [catch {regsub -nocase a( b c d} msg] $msg} {1 {couldn't compile regular expression pattern: parentheses () not balanced}}test regexp-11.7 {regsub errors} {    catch {unset f1}    set f1 44    list [catch {regsub -nocase aaa aaa xxx f1(f2)} msg] $msg} {1 {couldn't set variable "f1(f2)"}}test regexp-11.8 {regsub errors, -start bad int check} {    list [catch {regsub -start bogus pattern string rep var} msg] $msg} {1 {expected integer but got "bogus"}}test regexp-11.9 {regsub without final variable name returns value} {    regsub b abaca X} {aXaca}test regexp-11.10 {regsub without final variable name returns value} {    regsub -all a abaca X} {XbXcX}test regexp-11.11 {regsub without final variable name returns value} {    regsub b(.*?)d abcdeabcfde {,&,\1,}} {a,bcd,c,eabcfde}test regexp-11.12 {regsub without final variable name returns value} {    regsub -all b(.*?)d abcdeabcfde {,&,\1,}} {a,bcd,c,ea,bcfd,cf,e}# This test crashes on the Mac unless you increase the Stack Space to about 1# Meg.  This is probably bigger than most users want... # 8.2.3 regexp reduced stack space requirements, but this should be# tested againtest regexp-12.1 {Tcl_RegExpExec: large number of subexpressions} {macCrash} {    list [regexp (.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.) abcdefghijklmnopqrstuvwxyz all a b c d e f g h i j k l m n o p q r s t u v w x y z] $all $a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z} {1 abcdefghijklmnopqrstuvwxyz a b c d e f g h i j k l m n o p q r s t u v w x y z}test regexp-13.1 {regsub of a very large string} {    # This test is designed to stress the memory subsystem in order    # to catch Bug #933.  It only fails if the Tcl memory allocator    # is in use.    set line {BEGIN_TABLE ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; END_TABLE}    set filedata [string repeat $line 200]    for {set i 1} {$i<10} {incr i} {	regsub -all "BEGIN_TABLE " $filedata "" newfiledata    }    set x done} {done}test regexp-14.1 {CompileRegexp: regexp cache} {    regexp .*a b    regexp .*b c    regexp .*c d    regexp .*d e    regexp .*e f    set x .    append x *a    regexp $x bbba} 1test regexp-14.2 {CompileRegexp: regexp cache, different flags} {    regexp .*a b    regexp .*b c    regexp .*c d    regexp .*d e    regexp .*e f    set x .    append x *a    regexp -nocase $x bbba} 1testConstraint exec [llength [info commands exec]]test regexp-14.3 {CompileRegexp: regexp cache, empty regexp and empty cache} {	exec} {    exec [interpreter] [makeFile {puts [regexp {} foo]} junk.tcl]} 1test regexp-15.1 {regexp -start} {    catch {unset x}    list [regexp -start -10 {\d} 1abc2de3 x] $x} {1 1}test regexp-15.2 {regexp -start} {    catch {unset x}    list [regexp -start 2 {\d} 1abc2de3 x] $x} {1 2}test regexp-15.3 {regexp -start} {    catch {unset x}    list [regexp -start 4 {\d} 1abc2de3 x] $x} {1 2}test regexp-15.4 {regexp -start} {    catch {unset x}    list [regexp -start 5 {\d} 1abc2de3 x] $x} {1 3}test regexp-15.5 {regexp -start, over end of string} {    catch {unset x}    list [regexp -start [string length 1abc2de3] {\d} 1abc2de3 x] [info exists x]} {0 0}test regexp-15.6 {regexp -start, loss of ^$ behavior} {    list [regexp -start 2 {^$} {}]} {0}test regexp-16.1 {regsub -start} {    catch {unset x}    list [regsub -all -start 2 {\d} a1b2c3d4e5 {/&} x] $x} {4 a1b/2c/3d/4e/5}test regexp-16.2 {regsub -start} {    catch {unset x}    list [regsub -all -start -25 {z} hello {/&} x] $x} {0 hello}test regexp-16.3 {regsub -start} {    catch {unset x}    list [regsub -all -start 3 {z} hello {/&} x] $x} {0 hello}test regexp-16.4 {regsub -start, \A behavior} {    set out {}    lappend out [regsub -start 0 -all {\A(\w)} {abcde} {/\1} x] $x    lappend out [regsub -start 2 -all {\A(\w)} {abcde} {/\1} x] $x} {5 /a/b/c/d/e 3 ab/c/d/e}test regexp-17.1 {regexp -inline} {    regexp -inline b ababa} {b}test regexp-17.2 {regexp -inline} {    regexp -inline (b) ababa} {b b}test regexp-17.3 {regexp -inline -indices} {    regexp -inline -indices (b) ababa} {{1 1} {1 1}}test regexp-17.4 {regexp -inline} {    regexp -inline {\w(\d+)\w} "   hello 23 there456def "} {e456d 456}test regexp-17.5 {regexp -inline no matches} {    regexp -inline {\w(\d+)\w} ""} {}test regexp-17.6 {regexp -inline no matches} {    regexp -inline hello goodbye} {}test regexp-17.7 {regexp -inline, no matchvars allowed} {    list [catch {regexp -inline b abc match} msg] $msg} {1 {regexp match variables not allowed when using -inline}}test regexp-18.1 {regexp -all} {    regexp -all b bbbbb} {5}test regexp-18.2 {regexp -all} {    regexp -all b abababbabaaaaaaaaaab} {6}test regexp-18.3 {regexp -all -inline} {    regexp -all -inline b abababbabaaaaaaaaaab} {b b b b b b}test regexp-18.4 {regexp -all -inline} {    regexp -all -inline {\w(\w)} abcdefg} {ab b cd d ef f}test regexp-18.5 {regexp -all -inline} {    regexp -all -inline {\w(\w)$} abcdefg} {fg g}test regexp-18.6 {regexp -all -inline} {    regexp -all -inline {\d+} 10:20:30:40} {10 20 30 40}test regexp-18.7 {regexp -all -inline} {    list [catch {regexp -all -inline b abc match} msg] $msg} {1 {regexp match variables not allowed when using -inline}}test regexp-18.8 {regexp -all} {    # This should not cause an infinite loop    regexp -all -inline {a*} a} {a}test regexp-18.9 {regexp -all} {    # Yes, the expected result is {a {}}.  Here's why:    # Start at index 0; a* matches the "a" there then stops.    # Go to index 1; a* matches the lambda (or {}) there then stops.  Recall    #   that a* matches zero or more "a"'s; thus it matches the string "b", as    #   there are zero or more "a"'s there.    # Go to index 2; this is past the end of the string, so stop.    regexp -all -inline {a*} ab} {a {}}test regexp-18.10 {regexp -all} {    # Yes, the expected result is {a {} a}.  Here's why:    # Start at index 0; a* matches the "a" there then stops.    # Go to index 1; a* matches the lambda (or {}) there then stops.   Recall    #   that a* matches zero or more "a"'s; thus it matches the string "b", as    #   there are zero or more "a"'s there.    # Go to index 2; a* matches the "a" there then stops.    # Go to index 3; this is past the end of the string, so stop.    regexp -all -inline {a*} aba} {a {} a}test regexp-18.11 {regexp -all} {    regexp -all -inline {^a} aaaa} {a}test regexp-18.12 {regexp -all -inline -indices} {    regexp -all -inline -indices a(b(c)d|e(f)g)h abcdhaefgh} {{0 4} {1 3} {2 2} {-1 -1} {5 9} {6 8} {-1 -1} {7 7}}test regexp-19.1 {regsub null replacement} {    regsub -all {@} {@hel@lo@} "\0a\0" result    list $result [string length $result]} "\0a\0hel\0a\0lo\0a\0 14"test regexp-20.1 {regsub shared object shimmering} {    # Bug #461322    set a abcdefghijklmnopqurstuvwxyz     set b $a     set c abcdefghijklmnopqurstuvwxyz0123456789     regsub $a $c $b d     list $d [string length $d] [string bytelength $d]} [list abcdefghijklmnopqurstuvwxyz0123456789 37 37]test regexp-20.2 {regsub shared object shimmering with -about} {    eval regexp -about abc} {0 {}}# cleanup::tcltest::cleanupTestsreturn

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -