【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!
-
Java正規表現(RegEx)で任意の文字にマッチさせる方法
Javaの正規表現におけるメタ文字「.」(ドット)は、任意の1文字にマッチします。マッチ対象はアルファベットでも数字でも、記号などの特殊文字でも構いません。メタ文字「.」の基本「.」は改行文字以外のあらゆる単一文字と一致するため、パターンの柔軟性を高めたい場面で非常に便利です。なお、ドットそのもの(リテラルの「.」)にマッチさせたい場合は、バックスラッシュでエスケープして「\.」と記述します。例1:任意の1文字とのマッチ次のプログラムでは、ユーザーから入力された文字列に対して正規表現「.」を適用し、文字数をカウントしています。import java.util.Scanner; import j
-
Pythonの正規表現で任意の1文字にマッチさせる方法
Pythonの正規表現では、特別なメタ文字「.」(ドット)を使用することで、文字列内の任意の1文字にマッチさせることができます。このメタ文字は、改行文字(\n)を除くあらゆる単一の文字と一致します。re.findall() 関数と組み合わせれば、指定した文字列からすべての文字を1つずつ取り出すことが可能です。サンプルコードimport re foo = https://www/twitter/index.php 403 result = re.findall(r., foo) print(result)実行結果上記のコードを実行すると、次のような出力が得られます。文字列内の各文字(英字・記号