match:
只匹配第一次,返回为MatchData类型。
如果未能找到,返回nil
如果找到返回结果中包括两部分:1、完整匹配部分 2、()匹配到的内容
如:
a='a1b2<td>a1b3</td><td>a2b4</td>'
b=a.match(/<td>([a-z1-9]{4})<\/td><td>([a-z1-9]{4})<\/td>/)
#<MatchData "<td>a1b3</td><td>a2b4</td>" 1:"a1b3" 2:"a2b4">
scan:
查找全部匹配的内容。如果正则表达是中带有(),则只记录()的匹配内容。
返回结果为数组,如果没有匹配的结果,数组长度为0,否则返回匹配内容
如:
a='a1b2<td>a1b3</td><td>a2b4</td>'
b=a.scan(/<td>[a-z1-9]{4}<\/td>/)
#没有包含()内容,直接匹配正则内容。
#["<td>a1b3</td>", "<td>a2b4</td>"]
b=a.scan(/<td>([a-z1-9]{4})<\/td>/)
#包含()内容,记录()中的内容
#[["a1b3"], ["a2b4"]]