需求:
获取字符串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"
}