推奨:ASPプログラムを解析するインスタンスでExcelファイルをエクスポートするASPでExcelを使用する1つの方法は、Excelファイルをデータベースとしてリンクすることであり、操作はアクセスデータベース操作に似ています。しかし、この方法は常に有用ではありません。Excelはリレーショナルデータベースではないということです。固定形式の場合、
ASPのregexpとは何ですか
'名前の文字チェック
| 以下は引用されたコンテンツです。 パブリック関数checkname(str) checkname = true 薄暗い担当者、パス rep = new regexp '正規表現を作成します。 Rep.Global = True 'グローバル可用性を設定します。 rep.ignorecase = true 'セット文字ケースに敏感であるかどうかを設定します '設定モード。 Rep.Pattern = [U0009U0020U0022-U0028U002C-U002EU003A-U003FU005BU005CU0060U007CU007EU00FFUE5E5] set pass = rep.execute(str) '指定された文字列で正規表現検索を実行します。 pass.count <> 0の場合、checkname = false 'Response.Write(CheckName) 'Response.End() rep =何も設定しません エンド関数 |
Webサイト、特にさまざまなeコマースWebサイトを作成すると、ユーザーがさまざまな情報を入力する可能性があるため、登録ユーザーに関するさまざまな情報を取得するためにいくつかのフォームに記入するようにユーザーに依頼します。したがって、この情報をWebサイトデータベースに保存する前に、後続のプログラムを安全かつスムーズに実行できるように、これらのユーザーによるデータ入力の合法性を検証する必要があります。そのため、通常、バックエンドにASP検証プログラムを作成して、ユーザーが入力したデータが合法かどうかを分析します。
一部の人々は、ユーザーデータをより良く、より速く確認するためにクライアントで実行されているJavaScriptを使用できない場合に尋ねるかもしれません。確かに、これはほとんどの場合、大丈夫ですが、なぜほとんどの場合? MicrosoftのJScriptはJavaScriptと完全に同じではなく、一部のブラウザはMicrosoftおよびNetscapeと必ずしも互換性がないため、書いたJavaScriptはIEとNetscapeで実行するのが完全に普通ではない可能性があるため、クライアントのJavaScriptがさまざまなデータを正確に確認しない可能性が非常に高くなります。 ASPプログラムはサーバー側で実行されますが、サーバーの環境に関連しています。クライアントがどんなブラウザであっても、ASPプログラムに違いはありません。そのため、データの合法性を検証するためにバックエンドASPプログラムを使用することを選択することは良い選択です。
ASPを使用してバックエンドのデータの正当性を検証する場合、一部の人々は、さまざまな環境でのデータ検証を満たすためにそれを実装するために多くの機能を作成しました。たとえば、ユーザーが入力したURLアドレスが合法かどうかを確認する場合は、ユーザー文字が入力した情報を1つずつ分析するためのコードを記述できます。分析する情報の量が小さい場合、対処する方が簡単です。分析条件が変化した場合、それは悲惨になります。非常に長くて面倒なコードを書く必要があるだけでなく、操作効率は非常に低いです。良い解決策はありますか?はい、それはvbscriptp5.0によって提供される正規表現オブジェクトです。サーバーがIE5.xをインストールしている限り、VBScript5.0が発生します。実際、正規表現はもともと、特にPerl言語ではUnixの下で特許を取得していました。これはまさに、Microsoftが正規表現オブジェクトをウィンドウシステムにゆっくりと移植し、それらを使用する正規表現の強力な機能のためです。
正規表現オブジェクトの場合、さまざまなデータの合法性を簡単に検証できます。
まず、VBScriptの正規表現オブジェクトとは何かを理解しましょう。まずプログラムを見てみましょう:
| 以下は引用されたコンテンツです。 関数checkexp(patrn、strng) Dim Regex、一致する '変数の作成。 regex = new regexp '正規表現を作成します。 regex.pattern = patrn 'セットモード。 regex.ignorecase = true 'キャラクターケースに敏感かどうかを設定します。 regex.global = true 'グローバル可用性を設定します。 一致= regex.test(strng) '検索を実行します。 checkexp =一致 エンド関数 |
このプログラムでは、新しいregexpを使用して正規表現オブジェクトを取得できることがわかります。その後、オブジェクトは通常のマッチングテンプレートを割り当てます。つまり、正規表現オブジェクトに一致するテンプレートの種類を伝え、メソッドテストを使用して、処理されるデータが私たちが与えたテンプレートと一致するかどうかを検出します。一致しない場合、処理されるデータは法的データではないことを意味し、データの合法性の検証を実現します。適切に設計されたマッチングテンプレートを使用して、形式でデータ情報のバッチを簡単に検証できることがわかります。
ただし、VBScript 5.0の正規表現オブジェクトには、メソッド置換()などの他の多くのメソッドとプロパティがあります。それを使用して、ファッショナブルなUBBスタイルフォーラムとBBSをオンラインですばやく実装できます。これは私たちの議論の範囲内ではありません。後で説明します。データ検証で一般的に使用される正規表現オブジェクトの方法と特性を見てみましょう。
一般的な方法:メソッドを実行します
説明:指定された文字列で正規表現検索を実行します。
構文:object.execute(string)実行方法の構文には、次の部分が含まれます。
オブジェクト:必須。常にregexpオブジェクトの名前。
文字列:必須。正規表現が実行されるテキスト文字列。
説明:正規表現検索の設計パターンは、regexpオブジェクトのパターンを介して設定されます。実行メソッドはaを返します
文字列にある各マッチングマッチオブジェクトを含む一致コレクション。一致が見つからない場合は、executeは空のマッチコレクションを返します。
テスト方法
説明:指定された文字列で正規表現検索を実行し、一致するパターンが見つかったかどうかを示すブール値を返します。
構文:object.test(string)
テスト方法の構文には、次の部分が含まれます。
オブジェクト:必須。常にregexpオブジェクトの名前。
文字列:必須。正規表現検索を実行するテキスト文字列。
注:正規表現検索の実際のパターンは、regexpオブジェクトのパターンプロパティを介して設定されます。 regexp.globalプロパティは、テスト方法に影響を与えません。一致するパターンが見つかった場合、テスト方法はtrueを返します。それ以外の場合、それはfalseを返します。
一般的なプロパティ:グローバルプロパティ
説明:パターンが検索文字列全体ですべてまたは最初のものと一致するかどうかを示すブール値を設定または返します。
構文:object.global [= true |間違い ]
オブジェクトパラメーターは常にregexpオブジェクトです。検索が文字列全体に適用されている場合、グローバルプロパティにはTrueの値があり、そうでなければその値は偽です。デフォルトの設定は真です。
IgnoreCase属性
説明:モード検索がケースに敏感であるかどうかを示すブール値を設定または返します。
構文:object.ignorecase [= true |間違い ]
オブジェクトパラメーターは常にregexpオブジェクトです。検索がケースに敏感である場合、無知のプロパティは偽です。そうでなければ、本当です。デフォルト値は真です。
パターンプロパティ
説明:検索されている正規表現パターンを設定または返します。これは最も重要な属性であり、主にデータ検証を達成するためにこの属性を設定します。
構文:object.pattern [= searchstring]
パターンプロパティの構文には、次の部分が含まれています。
オブジェクト:必須。常にregexpオブジェクト変数。
SearchString:オプション。通常の文字列式が検索されます。部分表に設定されたさまざまな正規表現文字が含まれる場合があります。
設定:特殊文字とシーケンスは、正規表現のパターンを作成するときに使用されます。次の表には、使用できる文字とシーケンスについて説明し、例を示します。
文字説明:次のキャラクターを特別なキャラクターまたは文字通りの価値としてマークします。たとえば、nは文字nと一致します。 nラインブレークに一致します。シーケンス/マッチ、(一致。
^:入力の開始位置を一致させます。
$:入力の終わりを一致させます。
*:前の文字ゼロまたは数回一致します。たとえば、Zo*はZと動物園に一致させることができます。
:前のキャラクターを1回以上一致させます。たとえば、Zoは動物園に一致させることができますが、zではありません。
?:前の文字ゼロまたは1回に一致します。たとえば、a?ve? veに匹敵することはありません。
。:ラインブレーク以外のキャラクターを一致させます。
(パターン)パターンと一致し、一致を覚えておいてください。一致するサブストリングは、アイテム[0] ... [n]を使用して、結果の一致コレクションから取得できます。ブラケット文字(および)を一致させる場合は、使用(または)を使用できます。
x | y:xまたはyを一致させます。たとえば、Z |食品はZまたは食品に一致する可能性があります。 (z | f)oodは動物園または食べ物と一致します。
{n}:nは非陰性整数です。正確にn回一致します。たとえば、O {2}はBOBのOと一致することはできませんが、FooOODの最初の2つのOと一致させることができます。
{n、}:nは非陰性整数です。少なくともn回一致します。たとえば、o {2、}はボブのoと一致しませんが、foooooodのすべてと一致します。 o {1、}はoに相当します。 o {0、}はo*に相当します。
{n、m}:mとnは非陰性整数です。少なくともn回、最大m回を一致させます。たとえば、o {1,3}は、foooooodの最初の3つのOSと一致します。 o {0,1}はo?に相当します。
[xyz]:文字セット。ブラケットのキャラクターの1つに一致します。たとえば、[ABC]は平野のAと一致します。
[^xyz]:ネガティブな文字セット。このブラケットにない文字を一致させます。たとえば、[^ABC]はPlainでPを一致させることができます。
[AZ]:特定の範囲内のキャラクターを表します。指定された間隔内の任意の文字に一致します。たとえば、[az]は、aとzの間の小文字のアルファベット文字と一致します。
[^mz]:負の文字間隔。指定された間隔内にない文字と一致します。たとえば、[MZ]は、MとZの間ではないキャラクターと一致します。
B:単語の境界、つまり単語と空間の間の位置に一致します。たとえば、ERBはERと一致しませんが、動詞ではERと一致しません。
B:単語以外の境界と一致します。 ea*rbは耳に一致しません。
D:数値文字に一致します。 [0-9]に相当します。
D:非数学的な文字に一致します。 [^0-9]に相当します。
F:ページブレークを一致させます。
N:ラインブレイクの文字を一致させます。
R:キャリッジリターン文字に一致します。
S:[FNRTV]に相当するスペース、タブ、ページブレイクなどを含む白い文字に一致します。
S:ブランク以外の文字に一致します。 [^ fnrtv]に相当します。
T:タブ文字に一致します。
V:垂直タブ文字に一致します。
W:アンダースコアを含む単語文字に一致します。 [a-za-z0-9_]に相当します。
W:ワード以外の文字に一致します。 [^a-za-z0-9_]に相当します。
num:numに一致します。ここで、numは正の整数です。一致を記憶するために引用してください。たとえば、(。)1は、2つの連続した同一の文字と一致します。
n:nを一致させます。ここで、nはオクタルコード転送値です。 Octalコードの転送値は、1、2、または3の長さでなければなりません。
たとえば、11と11の両方がタブに一致します。 011は01および1に相当します。オクタルコード転送値は256を超えてはなりません。そうでなければ、最初の2文字のみが式の一部と見なされます。正規表現でASCIIコードを使用できます。
XN:Nを一致させます。ここで、nは16進コード転送値です。 16進コード転送値は、正確に2つの長さでなければなりません。たとえば、X41はAの一致です。X041はX04および1に相当します。通常の表現でASCIIコードを使用できます。
さて、これらは一般的に使用される方法と属性です。上記の構文はすでに非常に詳細であるため、それについて話す必要はありません。次に、これらのメソッドと属性を使用して、特定の例でデータの正当性を検証する方法を見てみましょう。例を挙げましょう。たとえば、ユーザーによる電子メール入力を確認する必要があります。それでは、どのようなデータが法的メールと見なされますか?これを入力できます:[email protected]、もちろん、これも入力します:[email protected]ですが、そのような入力は違法です:xxx @@ com.cnまたは@xxx.com.cnなど。
1。1つだけのシンボル @を含む必要があります
2。最大3つのシンボルに少なくとも1つを含める必要があります。
3。最初のキャラクターは @または。
4。 @ .or。 @は許可されていません
5。エンディングは、文字 @または。
したがって、上記の原則と上記の表の構文に基づいて、必要なテンプレートを次のように簡単に取得できます。(w)[@] {1}(w)[。] {1,3}(w)
次に、このテンプレートを注意深く分析しましょう。第一に、Wとは、電子メールの開始文字がアンダースコアを含む単語文字のみであるため、3番目の条件が満たされることを意味します。 [@] {1}は、電子メールで文字を一致させ、一度しか一致させないことを意味し、条件は満たされます。同じ[。] {1,3}は、電子メールのほとんどの3文字で少なくとも1つの一致を意味します。 、2番目の状態を満たす。テンプレートの最後(w)は、エンディング文字がアンダースコアを含む単語文字のみであり、条件5を満たすことができることを示しています。 (w)テンプレートの中央では、条件4を満たします。
次に、関数checkexp((w)[@] {1}(w)[。] {1}(w)、チェックする文字列)を呼び出します。 trueが返された場合、それはデータが合法であることを意味し、それ以外の場合は間違っています。それはどうですか、それは簡単です。 ID番号を確認するためのテンプレートを記述することもできます。([0-9]){15}; URLを確認するためのテンプレート: ^http:// {1}((w)[。]){1,3}など。これらのテンプレートは、非常に優れた再利用可能なモジュールを提供することがわかります。自分や他の人が提供するさまざまなテンプレートを使用して、データの合法性を簡単かつ迅速に検証できます。私はあなたが間違いなく非常に一般的なテンプレートを書くと信じています。
このようにして、異なるテンプレートをカスタマイズすることにより、異なるデータの合法性を検証できます。したがって、正規表現オブジェクトの最も重要な属性は、パターン属性です。この属性を真に習得することによってのみ、正規表現オブジェクトを自由に使用してデータ検証を提供できます。
同じルールを使用します
| 以下は引用されたコンテンツです。 string str = <img src =/upimg/allimg/081024/0851350.jpg> <img src =/upimg/allimg/081024/0851351.jpg> <img src =/upimg/alimg/081024/0851352.jpg> regex reg = new Regex(<imgs src =(['|]?)(s .w)(1)); MatchCollection MC = Reg.Matches(入力); foreach(mcでmを一致) { tb_result.appendtext(string.format({0}はmatchrn、m.groups [0])); for(int i = 0; i <m.groups.count; i) { //画像アドレスはM.Groups [2] .Valueである必要があります respons.write(string.format(group [{0}] = {1} rn、i、m.groups [i] .value)); } } |
//一致の数
respons.write(mc.count.toString());
共有:ASPプログラムを使用してWebサイトのAlexa Worldランキングを読む方法Alexaのランキングが更新されるたびに、関連するすべての同様のWebサイトのランキングを整理し、これらのライバルWebサイトのランキング更新を確認する必要があります。私はもっとやりました、そして私はイライラします。私は30を超えるウェブサイトしか持っていませんが、私はそれらを1つずつ見た後、少し疲れています。したがって、私は欲しいです