推奨:ASP正規表現学習「正規表現」オブジェクトによって、さまざまなデータの合法性を簡単に検証できます。まず、VBScriptの「正規表現」オブジェクトとは何かを正確に理解しましょう。まずプログラムを見てみましょう:
regexpオブジェクトは、単純な正規表現サポート機能を提供します。
regexpオブジェクトの使用:
| 以下は引用されたコンテンツです。 function regexptest(patrn、strng) Dim Regex、Match、Matches 'Create変数。 regex = new regexp '正規表現を作成します。 regex.pattern = patrn 'セットモード。 regex.ignorecase = true 'キャラクターがケースに敏感かどうかを設定します。 regex.global = true 'グローバル可用性を設定します。 一致を設定= regex.execute(strng) '検索を実行します。 マッチの各試合について、マッチングコレクションをトラバースします。 RetStr = RETSTR&MATCEが位置にあります retstr = retstr&match.firstindex&。一致値は ' retstr = retstr&match.value& '。 &vbcrlf 次 regexptest = retstr エンド関数 |
msgbox(regexptest(is。、is1 is2 is3 is4)))
regexpオブジェクトのプロパティ
◎グローバル属性
グローバルプロパティは、パターンが検索文字列全体ですべてまたは最初のものと一致するかどうかを示すブール値を設定または返します。
文法
object.global [= true |間違い ]
オブジェクトパラメーターは常にregexpオブジェクトです。検索が文字列全体に適用されている場合、グローバルプロパティにはTrueの値があり、そうでなければその値は偽です。デフォルトの設定は真です。
グローバル属性の使用(グローバル属性に割り当てられた値を変更し、その効果を観察します):
| 以下は引用されたコンテンツです。 function regexptest(patrn、strng) dim regex '変数を作成します。 regex = new regexp '標準式を作成します。 regex.pattern = patrn 'セットモード。 regex.ignorecase = true '文字がケースに敏感かどうかを設定します。 regex.global = true '完全な性質を設定します。 regexptest = regex.execute(strng) '検索を実行します。 エンド関数 |
msgbox(regexptest(is。、is1 is2 is3 is4)))
◎IngoreCase属性
Ignorecaseプロパティは、モード検索がケースに敏感であるかどうかを示すブール値を設定または返します。
文法
object.ignorecase [= true |間違い ]
オブジェクトパラメーターは常にregexpオブジェクトです。検索がケースに敏感である場合、無知のプロパティは偽です。そうでなければ、本当です。デフォルト値は真です。
IgnoreCase属性の使用(IngaNoreCase属性に割り当てられた値を変更して、その効果を観察します):
| 以下は引用されたコンテンツです。 function regexptest(patrn、strng) dim regex '変数を作成します。 regex = new regexp '正規表現を作成します。 regex.pattern = patrn 'セットモード。 regex.ignorecase = true 'セットが症例に敏感かどうかを設定します。 regexptest = regex.execute(strng) '検索を実行します。 エンド関数 |
msgbox(regexptest(is。、is1 is2 is3 is4)))
◎パターン属性
パターンプロパティは、検索されている正規表現パターンを設定または返します。
文法
object.pattern [= searchstring]
パターンプロパティの構文には、次の部分が含まれています。
構文の説明:
必要なオブジェクト。常にregexpオブジェクト変数。
検索ストリングオプション。通常の文字列式が検索されます。部分表に設定されたさまざまな正規表現文字が含まれる場合があります。
設定
特殊文字とシーケンスは、正規表現のパターンを書くときに使用されます。使用できる文字とシーケンスを以下に説明し、例を示します。
次のキャラクターを特別なキャラクターまたは文字通りの価値としてマークします。たとえば、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コードを使用できます。
パターン属性の使用法:
| 以下は引用されたコンテンツです。 function regexptest(patrn、strng) dim regex '変数を作成します。 regex = new regexp '正規表現を作成します。 regex.pattern = patrn 'セットモード。 regex.ignorecase = true 'セットが症例に敏感かどうかを設定します。 regexptest = regex.execute(strng) '検索を実行します。 エンド関数 |
msgbox(regexptest(is。、is1 is2 is3 is4)))
regexpオブジェクトの方法
◎メソッドを実行します
実行メソッドは、指定された文字列で正規表現検索を実行します。
文法
object.execute(string)
構文部品の説明
必要なオブジェクト。常にregexpオブジェクトの名前。
文字列が必要です。正規表現が実行されるテキスト文字列。
説明します
正規表現検索の設計パターンは、regexpオブジェクトのパターンを介して設定されます。
実行メソッドは、文字列にある各マッチングマッチオブジェクトを含む一致コレクションを返します。一致が見つからない場合は、executeは空のマッチコレクションを返します。
実行方法の使用:
| 以下は引用されたコンテンツです。 function regexptest(patrn、strng) dim regex '変数を作成します。 regex = new regexp '正規表現を作成します。 regex.pattern = patrn 'セットモード。 regex.ignorecase = false 'セットケースに敏感です。 regex.global = true 'すべての一致の検索。 regexptest = regex.execute(strng) '検索を実行します。 エンド関数 |
msgbox(regexptest(is。、is1 is2 is3 is4)))
◎メソッドを交換します
置換方法は、正規表現の検索で見つかったテキストを置き換えます。
文法
object.replace(string1、string2)
構文部品の説明
必要なオブジェクト。常にregexpオブジェクトの名前。
string1が必要です。 string1は、テキスト置換が実行される文字列です。
string2が必要です。 string2は、置換テキスト文字列です。
説明します
交換されたテキストの実際のパターンは、regexpオブジェクトのパターンプロパティを介して設定されます。
置換メソッドは、regexp.patternテキストがstring2に置き換えられたstring1のコピーを返します。一致するテキストが見つからない場合、元のstring1のコピーが返されます。
eplaceメソッドの使用:
| 以下は引用されたコンテンツです。 function applageTest(patrn、replstr) Dim Regex、Str1 'は変数を作成します。 str1 =速い茶色のキツネが怠zyな犬を飛び越えました。 regex = new regexp '正規表現を作成します。 regex.pattern = patrn 'セットモード。 regex.ignorecase = true 'セットが症例に敏感かどうかを設定します。 交換用のapplateTEST = regex.Replace(str1、Replstr) '。 エンド関数 |
msgbox(applectetest(fox、cat))
「キツネ」を「猫」に置き換えます。
;さらに、置換メソッドは、パターンのサブ発現を置き換えます。前の例の関数への呼び出しは、元の文字列のすべての単語ペアを置き換えます。
msgbox(fallingetext((s))(s)、$ 3 $ 2 $ 1)) 'ワードペアを交換します。
◎テスト方法
テスト方法は、指定された文字列で正規表現検索を実行し、一致するパターンが見つかったかどうかを示すブール値を返します。
文法
object.test(string)
構文部品の説明
必要なオブジェクト。常にregexpオブジェクトの名前。
文字列が必要です。正規表現検索を実行するテキスト文字列。
説明します
正規表現検索の実際のパターンは、regexpオブジェクトのパターンプロパティを介して設定されます。 regexp.globalプロパティは、テスト方法に影響を与えません。
一致するパターンが見つかった場合、テスト方法はtrueを返します。それ以外の場合、それはfalseを返します。
| 以下は引用されたコンテンツです。 テスト方法の使用: function regexptest(patrn、strng) Dim Regex、retval 'CREATE変数。 regex = new regexp '正規表現を作成します。 regex.pattern = patrn 'セットモード。 regex.ignorecase = false '症例に敏感かどうかを設定します。 retval = regex.test(strng) '検索テストを実行します。 retvalの場合 regexptest = 1つ以上の一致を見つけます。 それ以外 regexptest =一致しない。 ifを終了します エンド関数 |
msgbox(regexptest(is。、is1 is2 is3 is4)))
共有:ASPでExcelファイルを出力する方法ASPでExcelを使用する1つの方法は、Excelファイルをデータベースとしてリンクすることであり、操作はアクセスデータベース操作に似ています。しかし、この方法は常に有用ではありません。Excelはリレーショナルデータベースではないということです。固定形式の場合、