using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?:^|[^%])(?:%%)*(%(?:\d+\$)?(?:\+)?(?:0|'.)?(?:\-)?(?:\d+)?(?:\.\d+)?[bcdeEufFgGosxX])";
string input = @"<?php
$n = 43951789;
$u = -43951789;
$c = 65; // ASCII コードの 65 は 'A' です
// %% に注目しましょう。これは、リテラル '%' を文字として出力します
printf(""%%b = '%b'\n"", $n); // 2 進表現
printf(""%%c = '%c'\n"", $c); // ascii 文字を表示します。chr() 関数と同じです
printf(""%%d = '%d'\n"", $n); // 標準の整数表現
printf(""%%e = '%e'\n"", $n); // 科学記法
printf(""%%u = '%u'\n"", $n); // 正の整数の、符号なし整数表現
printf(""%%u = '%u'\n"", $u); // 負の整数の、符号なし整数表現
printf(""%%f = '%f'\n"", $n); // 浮動小数点表現
printf(""%%o = '%o'\n"", $n); // 8 進表現
printf(""%%s = '%s'\n"", $n); // 文字列表現
printf(""%%x = '%x'\n"", $n); // 16 進表現 (小文字)
printf(""%%X = '%X'\n"", $n); // 16 進表現 (大文字)
printf(""%%+d = '%+d'\n"", $n); // 正の整数に符号指定子を使用
printf(""%%+d = '%+d'\n"", $u); // 負の整数に符号指定子を使用
?>
<?php
$s = 'monkey';
$t = 'many monkeys';
printf(""[%s]\n"", $s); // 標準の文字列出力
printf(""[%10s]\n"", $s); // 空白を使用して右詰め
printf(""[%-10s]\n"", $s); // 空白を使用して左詰め
printf(""[%010s]\n"", $s); // ゼロ埋めは文字列でも可能です
printf(""[%'#10s]\n"", $s); // ゼロの代わりに独自の文字 '#' で埋めます
printf(""[%10.10s]\n"", $t); // 左詰めを行い、10 文字以上は切り捨てます
?>
例9 sprintf(): 整数のゼロ埋め
<?php
$isodate = sprintf(""%04d-%02d-%02d"", $year, $month, $day);
?>
例10 sprintf(): 通貨をフォーマットする例
<?php
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money は ""123.1"" を出力します。
$formatted = sprintf(""%01.2f"", $money);
// echo $formatted は ""123.10""を出力します
?>
例11 sprintf(): 科学記法
<?php
$number = 362525200;
echo sprintf(""%.3e"", $number); // 3.625e+8 を出力します
?>
";
RegexOptions options = RegexOptions.Multiline;
foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx