您的位置:首页 > 其它

Iterate over All the matches

2014-05-20 09:33 218 查看
需求:

打印字符串Do you like 12 or 34?中的12, 34

方法:

1. Python

a. Global function

import re

subject = "Do you like 12 or 34?"

result = re.findall(r"\d+", subject)

for i in result:

print i,

b. Compiled object

import re

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

result = reobj.findall(subject)

for i in result:

print i,

引申: (返回match object)

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

print iter,

2. Tcl

set subject "Do you like 12 or 34?"

set result ""

set pos 0

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

set pos [expr {1+[lindex $offsets 1]}]

lappend result [string range $subject [lindex $offsets 0] [lindex $offsets 1]]

}

foreach i $result {

puts "$i"

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: