ホームページ > ウェブフロントエンド > jsチュートリアル > 正規表現の文字括弧内でハイフンを適切にエスケープまたは配置するにはどうすればよいですか?

正規表現の文字括弧内でハイフンを適切にエスケープまたは配置するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-30 13:38:14
オリジナル
377 人が閲覧しました

How to Properly Escape or Position a Hyphen in Regular Expression Character Brackets?

正規表現文字括弧内のハイフン

正規表現文字括弧を定義する場合、ハイフン文字 (-) を含めるのが難しい場合があります。 。これは、ハイフンが正規表現の範囲演算子として使用され、一致する文字の範囲を示すためです。文字括弧内にリテラルのハイフンを含めるには、バックスラッシュ () を使用してエスケープする必要があります。

あなたの場合、正規表現:

/^[a-zA-Z0-9.-_]+$/
ログイン後にコピー

は、次の文字列のみと一致しようとしています。文字、数字、ピリオド (.)、およびハイフン (-) 文字が含まれます。ただし、文字括弧内にハイフンが配置されているため、範囲演算子として扱われ、「a」と「-」の間の文字範囲が一致します。

これを修正するにはでは、次の変更された正規表現に示すように、バックスラッシュを使用してハイフンをエスケープできます。

/^[a-zA-Z0-9.\-_-]+$/
ログイン後にコピー

これにより、ハイフン文字が確実に文字として扱われます。範囲演算子としてではなく、リテラル文字として使用します。あるいは、以下に示すように、ハイフンを文字括弧の先頭または末尾に配置することもできます。

/^[.-a-zA-Z0-9_]+$/
ログイン後にコピー

ハイフンの位置を変更することで、ハイフンを文字括弧に適切に含めることができ、次のことが保証されます。検証式で文字通り一致します。

以上が正規表現の文字括弧内でハイフンを適切にエスケープまたは配置するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート