Validate Matches in Procedural Code (用程序码验证匹配)

来源:互联网 发布:淘宝号为什么会被限购 编辑:程序博客网 时间:2024/06/11 04:29

需求:

获取字符串Do you like 2, 3,4 , 6?中的2, 4, 6


方法:

1. Python

a.  Global function

import re

subject = "Do you like 2, 3,4 , 6?"

result = []

for matchobj in re.finditer(r"\d+", subject):

    if int(matchobj.group()) % 2 == 0:

        result.append(matchobj.group())


print result


b. Compiled object

import re

subject = "Do you like 2, 3,4 , 6?"

result = []


reobj = re.compile("\d+")

for matchobj in reobj.finditer(subject):

    if int(matchobj.group()) % 2 == 0:

        result.append(matchobj.group())


print result


2. Tcl

set subject "Do you like 2, 3,4 , 6?"

set result ""

set pos 0

while {[regexp -indices -start $pos -linestop {\d+} $subject offsets]==1} {
  set pos [expr {1+[lindex $offsets 1]}]

  set sTmp [string range $subject [lindex $offsets 0] [lindex $offsets 1]]

   if {$sTmp % 2 == 0} {

      lappend result $sTmp
   }

}

foreach i $result {

    puts "$i"

}

0 0
原创粉丝点击