D/正規表現Top / D / 正規表現マッチした位置の取得RegExp re = new RegExp(`[0-9]+`,null); char src[] = "2005/04/23"; for (bit isFirst=true; ; isFirst=false) { int result = isFirst ? re.test(src) : re.test(); if (!result) break; int start = re.pmatch[0].rm_so; int end = re.pmatch[0].rm_eo; printf("%s: %d - %d\n", toStringz(src[start..end]), start, end); } publicではないpmatchを使う違法くさいコード。 |