7.プログラムで正規表現を使う
各種プログラミング言語も正規表現をサポートしています。
Perl
PHP
Visual Basic 6
Visual Basic .NET
VBScript
Java
JavaScript
Perl
標準で正規表現を使うことができます。
決まった書式がありますので、書式に従って記述してください。
検索
$x =~ /検索文字/;
置換
$x =~ s/置換対象/置換文字/gi;
PHP
標準で正規表現を使うことができます。
関数を使用しますので、関数の書式に従って記述してください。
検索
$pattern = "/検索文字/";
preg_match($pattern, $x);
置換
$pattern = "/置換対象/";
$replacement = "置換文字";
preg_replace($pattern, $replacement, $x);
Visual Basic 6
参照設定で 「Microsoft VBScript Regular Expressions 5.5」 を参照することにより、正規表現を使うことができます。
おそらく標準で入っているとおもいます。
検索
Dim reg As New RegExp
reg.Pattern = "検索文字"
reg.Test(str)
- reg.Test は、一致する文字が含まれていれば True、含まれていなければ False を返します。
- VBScriptの方にも同様の説明があるのでご覧下さい。
置換
Dim reg As New RegExp
reg.Pattern = "置換対象"
str = reg.Replace(str, "置換文字")
- reg.Replace は、置換後の文字列を返します。
Visual Basic .NET
「System.Text.RegularExpressions」 配下のクラスを使用することにより、正規表現を使うことができます。
このクラスは標準装備です。
検索
Dim reg As New System.Text.RegularExpressions.Regex("検索文字")
Dim m As System.Text.RegularExpressions.Match = reg.Match(str)
Debug.WriteLine(m.Success)
- m.Success は、一致する文字が含まれていれば True、含まれていなければ False が入ります。
置換
Dim reg As New System.Text.RegularExpressions.Regex("置換対象")
str = reg.Replace(str, "置換文字")
- reg.Replace は、置換後の文字列を返します。
- 詳説 正規表現 第3版では.NETの正規表現について詳しく書かれています。
VBScript
RegExp オブジェクトを使用することにより、正規表現を使うことができます。
このオブジェクトは標準装備です。
検索
Function RegExpTest(patrn, strng)
Dim regEx, retVal ' 変数を作成します。
Set regEx = New RegExp ' 正規表現を作成します。
regEx.Pattern = patrn ' パターンを設定します。
regEx.IgnoreCase = False ' 大文字と小文字を区別するように設定します。
retVal = regEx.Test(strng) ' 検索をテストします。
If retVal Then
RegExpTest = "一致する文字列が 1 つ以上見つかりました。"
Else
RegExpTest = "一致する文字列が見つかりません。"
End If
End Function
MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
- 詳しい使い方はMicrosoftの公式サイトをご覧ください。
- 上記はパターンに一致するかどうかの判定です。パターンに一致した文字を取得したい場合は、Executeメソッドを実行し、結果をMatchesコレクションとして取得すると取り出すことができます。
- さらに、後方参照を取得したい場合は、Matchesコレクションから取得したオブジェクトからさらに、SubMatchesコレクションを取得すると取り出すことができます。
置換
Function ReplaceTest(patrn, replStr)
Dim regEx, str1 ' 変数を作成します。
str1 = "The quick brown fox jumped over the lazy dog."
Set regEx = New RegExp ' 正規表現を作成します。
regEx.Pattern = patrn ' パターンを設定します。
regEx.IgnoreCase = True ' 大文字と小文字を区別しないように設定します。
ReplaceTest = regEx.Replace(str1, replStr) ' 置換します。
End Function
MsgBox(ReplaceTest("fox", "cat")) ' 'fox' を 'cat' で置換します。
- 詳しい使い方はMicrosoftの公式サイトをご覧ください。
Java
Stringクラスにて、標準で正規表現を使うことができます。(ただしJava1.4以上)
検索
String str = "abcdef";
str.matches("検索文字");
- 詳しい使い方はSun Microsystemsの公式サイトをご覧ください。
置換
String str = "abcdef";
str.replaceAll("置換対象","置換文字");
JavaScript
標準で正規表現を使うことができます。
検索
str = "abcdef";
str.match("検索文字");
置換
str = "abcdef";
str = str.replace("置換対象","置換文字");
空行を追加する(全行を1行空きに)正規表現もあります。
|