[解決済み] javascriptの正規表現で、最初と最後の文字が似ているかどうかをチェックするには?
2022-03-07 13:33:53
質問
文字列の最初と最後の文字が同じかどうかを、正規表現だけで簡単にチェックする方法はありますか?
charAtでチェックできるのは知っています。
var firstChar = str.charAt(0);
var lastChar = str.charAt(length-1);
console.log(firstChar===lastChar):
私はこれを求めているのではない: 最初と最後の文字にマッチする正規表現
どのように解決するのですか?
で正規表現を使用することができます。
キャプチャグループ
とその
バックリファレンス
のように、最初の文字をキャプチャすることで、開始と終了の文字が同じであることを保証します。正規表現にマッチするかどうかを調べるには
RegExp#test
メソッドを使用します。
var regex = /^(.).*\1$/;
console.log(
regex.test('abcdsa')
)
console.log(
regex.test('abcdsaasaw')
)
-
^
文字列の先頭の位置を主張する -
第1捕獲グループ
(.)
-
.*
任意の文字 (改行を除く) にマッチします - 0 回から無制限まで、可能な限り何度でも、必要に応じて還元します (貪欲) -
\1
は、1番目のキャプチャグループが最近マッチしたテキストと同じテキストにマッチします。 -
$
文字列の末尾に位置することを表明します。
は
.
は改行文字を含まないので、改行文字を含むように正規表現が更新されます。
var regex = /^([\s\S])[\s\S]*\1$/;
console.log(
regex.test(`abcd
sa`)
)
console.log(
regex.test(`ab
c
dsaasaw`)
)
参照する。 JavaScriptの正規表現を複数行に渡って使用するには?
-
[.....]
- 存在する1文字にマッチする -
\s
- は任意の空白文字にマッチします。[\r\n\t\f\v ]
) -
\S
- は、空白文字以外の任意の文字にマッチします ([^\r\n\t\f ]
)
最後に
[\s\S]
は任意の文字にマッチします。
関連
-
[解決済み】Jestが予期しないトークンに遭遇した
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] Javascriptで文字列の最後の文字を切り取るにはどうしたらいいですか?
-
[解決済み] JavaScriptの正規表現でマッチしたグループにアクセスするにはどうすればよいですか?
-
[解決済み] JavaScriptにおけるendsWith
-
[解決済み] JSで文字列が正規表現にマッチするかどうかをチェックする
-
[解決済み] 正規表現で「この文字列までなら何でもあり」にマッチさせるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Failed to load resource: net::ERR_FILE_NOT_FOUND loading json.js
-
[解決済み] Uncaught TypeError: 未定義のプロパティ 'top' を読み込めない
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み】エラー:リスン EACCES 0.0.0.0:80 OSx Node.js
-
[解決済み】Uncaught SyntaxError: JSON の位置 0 に予期しないトークン u があります。
-
[解決済み】npm install --legacy-peer-deps は具体的に何をするのですか?どんなときに推奨されるのか/どんな使用例が考えられるのか?
-
[解決済み】React-Routerの子が1つしかない。
-
[解決済み】WebSocket接続に失敗しました。WebSocket のハンドシェイク中にエラーが発生しました。予期しない応答コードです。400
-
[解決済み] Uncaught (in promise) TypeError: フェッチに失敗してCorsエラー
-
[解決済み】JavaScriptの正規表現を複数行に渡って使用するには?