JavaScriptの正規表現でキャリッジリターン文字( )を検索する方法
JavaScriptの正規表現(RegExp)を使って文字列中のキャリッジリターン(復帰)文字を検索するには、メタ文字 \r を使用します。
キャリッジリターン文字とは
キャリッジリターンは、カーソルを行の先頭に戻すための制御文字で、Unicodeでは U+000D に対応します。Windowsでは改行が「\r\n」(CRLF)、Unix系OSやmacOSでは「\n」(LF)として扱われるため、テキスト処理の際にこの違いを意識することが重要です。
正規表現パターン
\r
サンプルコード
以下のコードでは、search() メソッドと正規表現 /\r/ を組み合わせて、文字列内にキャリッジリターン文字が存在するかどうかを確認しています。マッチした場合は、その先頭位置(インデックス番号)を返します。マッチしなかった場合は -1 が返されます。
<html> <head> <title>JavaScript Regular Expression</title> </head> <body> <script> var myStr = "100% \r Responsive!"; var reg = /\r/; var match = myStr.search(reg); document.write(match); </script> </body> </html>
実行結果
上記の例では、キャリッジリターン文字「\r」は文字列 "100% \r Responsive!" の5文字目(インデックスは0から始まるため)に位置しているため、出力結果は以下のようになります。
5
補足:他の検索方法との組み合わせ
search() 以外にも、match() や test() メソッドを使うことで、マッチした文字列の取得や真偽値による判定が可能です。例えば /\r/.test(myStr) とすれば、キャリッジリターンの有無を true / false で簡単に確認できます。改行コード(\n)やタブ(\t)など、その他の制御文字も同様の方法で検索できます。
-
JavaScriptのRegExp(正規表現)オブジェクトとは?基本の使い方をわかりやすく解説
RegExp(正規表現)オブジェクトは、テキストに対してパターンマッチングを行い、目的の文字列部分を検索・抽出するために使用されます。JavaScriptでは、RegExpオブジェクトを「RegExpコンストラクタ」または「リテラル構文」の2通りの方法で作成できます。 RegExpオブジェクトの作成方法 コンストラクタを使用する場合: new RegExp(pattern) リテラル構文を使用する場合: /pattern/ 主なメソッド test():文字列がパターンに一致するかどうかを真偽値(true / false)で返します。 exec():パターンに一致した文字列を返します。
-
JavaScriptの二分探索(バイナリサーチ)でソート済み配列を検索する方法
問題昇順にソートされた数値の配列 arr を第1引数に、検索したい数値 target を第2引数として受け取るJavaScript関数を作成します。配列がすでにソートされているため、二分探索(バイナリサーチ)アルゴリズムを使って target を効率的に検索します。target が配列内に存在する場合はそのインデックスを返し、存在しない場合は -1 を返す必要があります。入出力の例たとえば、関数への入力が次の場合を考えます。入力const arr = [3, 5, 7, 9, 11, 13, 15, 16, 18, 21, 24, 25, 28];const target = 13;出力con