JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

【JavaScript】正規表現で指定した文字セット以外の任意の1文字にマッチさせる方法

JavaScriptの正規表現(RegExp)で、指定した文字セットに含まれない任意の1文字にマッチさせたい場合は、否定文字クラス[^...]」を使用します。たとえば [^aeiou] と書くと、「a・e・i・o・u 以外の任意の1文字」に一致します。

サンプルコード

<html>
   <head>
      <title>JavaScript Regular Expression</title>
   </head>

   <body>
      <script>
         var myStr = "Welcome!";
         var reg = /[^lc]/g;
         var match = myStr.match(reg);
         
        document.write(match);
     </script>
   </body>
</html>

コードの解説

この例では、文字列 "Welcome!" に対して正規表現 /[^lc]/g を適用しています。

  • ^(キャレット)を文字クラスの先頭に置くと「否定」を意味し、[^lc] は「l と c 以外の任意の1文字」にマッチします。
  • 末尾の g フラグを付けることで、文字列全体から該当するすべての文字が検索されます。
  • match() メソッドは、マッチした文字を配列として返します。

実行結果は次のとおりです。「W」「e」「o」「m」「e」「!」の6文字が抽出され、l と c は除外されていることがわかります。

Weome!
  1. Java正規表現(RegEx)で任意の文字にマッチさせる方法

    Javaの正規表現におけるメタ文字「.」(ドット)は、任意の1文字にマッチします。マッチ対象はアルファベットでも数字でも、記号などの特殊文字でも構いません。メタ文字「.」の基本「.」は改行文字以外のあらゆる単一文字と一致するため、パターンの柔軟性を高めたい場面で非常に便利です。なお、ドットそのもの(リテラルの「.」)にマッチさせたい場合は、バックスラッシュでエスケープして「\.」と記述します。例1:任意の1文字とのマッチ次のプログラムでは、ユーザーから入力された文字列に対して正規表現「.」を適用し、文字数をカウントしています。import java.util.Scanner; import j

  2. Pythonの正規表現で任意の1文字にマッチさせる方法

    Pythonの正規表現では、特別なメタ文字「.」(ドット)を使用することで、文字列内の任意の1文字にマッチさせることができます。このメタ文字は、改行文字(\n)を除くあらゆる単一の文字と一致します。re.findall() 関数と組み合わせれば、指定した文字列からすべての文字を1つずつ取り出すことが可能です。サンプルコードimport re foo = https://www/twitter/index.php 403 result = re.findall(r., foo) print(result)実行結果上記のコードを実行すると、次のような出力が得られます。文字列内の各文字(英字・記号