ホームページ >バックエンド開発 >PHPチュートリアル >正規表現の使い方を詳しく解説(2)_PHPチュートリアル
正規表現についてより包括的に理解した後、Perl、PHP、JavaScript/" target="_blank">JavaScript で正規表現を使用する方法を見てみましょう。
通常、Perl の正規表現の形式は次のとおりです:演算子/正規表現/置換する文字列/修飾子
演算子項目は m または s で、それぞれ照合演算と置換演算を表します。
このうち、正規表現項目とは、照合や置換の対象となるパターンで、任意の文字、メタキャラクター、ロケーターなどで構成できます。置換文字列項目は、s 演算子を使用するときに、見つかったパターン マッチング オブジェクトを置換する文字列です。最後のパラメータは、さまざまな一致または置換方法を制御するために使用されます。例:
s/gee/good/
ターゲットオブジェクト内で最初に出現する geed 文字列を見つけて、それを Good に置き換えます。ターゲット オブジェクトのグローバル スコープで複数の検索置換操作を実行したい場合は、パラメーター「g」、つまり s/love/lust/g を使用できます。
また、一致する大文字と小文字を制限する必要がない場合は、パラメータ「i」を使用できます。たとえば、
m/JewEL/i
上記の正規表現は、対象オブジェクトのjewel、Jewel、またはJEWELに一致します。
Perlでは特殊演算子「=~」を使って正規表現の一致するオブジェクトを指定します。例:
$flag =~ s/abc/ABC/
上記の正規表現は、変数$flag内の文字列abcをABCに置き換えます。
次に、Perl プログラムに正規表現を追加して、ユーザーのメール アドレス形式の有効性を検証します。コードは次のとおりです:
#!/usr/bin/perl
# get input
print 『あなたのメールアドレスは何ですか?
”;
$email = $#@60;STDIN$#@62;;
chomp($email);
# 一致して結果を表示
if($email =~ /^([a-zA-Z0-9_- ])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/)
{
print(「あなたのメールアドレスは正しいです!」
”);
}
else
{
print(”もう一度お試しください!
”);
}
ユーザーが PHP を好む場合は、パターン マッチング操作に ereg() 関数を使用できます。 ereg()関数の使用形式は以下の通りです:
ereg(pattern, string)
$#@60;?php
if (ereg(”^([a-zA-Z0-9_ +@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_- ])+”,$email)) { echo “あなたのメールアドレスは正しいです!”;}
else
{ echo “もう一度お試しください!”;}
?$#@62;
最後にJavaScriptを見てみましょう。 /" target="_blank">JavaScript.JavaScript/" target="_blank">JavaScript 1.2 には強力な RegExp() オブジェクトがあり、これを使用して正規表現の一致操作を実行できます。ターゲット オブジェクトには一致するパターンが含まれており、それに応じて true または false を返します
。
JavaScript/" target="_blank">JavaScript を使用して次のスクリプトを記述し、ユーザーが入力したメール アドレスの有効性を確認できます。
$#@60;html$#@62;
$#@60;頭$#@62; $#@60;スクリプト言語="Javascript1.2"$#@62;
$#@60;! -- 非表示開始
function verifyAddress(obj)
{
var email = obj.email.value;
var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0- 9_-])+(.[a-zA-Z0-9_-])+/;
flag = pattern.test(email);
if(flag)
{
alert(“あなたのメールアドレスは正しいです!”) // 隠すのをやめる --$#@62;
$#@60;/script $#@62;
$#@60;/head$#@62;
$#@60;body$#@62;
$#@60;form onSubmit="return verifyAddress(this);"$#@ 62;
$#@60;input name="email" type="text"$#@62;
$#@60;input type="submit"$#@62;
$#@60;/form$ #@62;
$#@60;/body$#@62;
$#@60;/html$#@62;
http://www.bkjia.com/PHPjc/532605.html
www.bkjia.com
true