[解決済み] Chromeでは動作するが、Safariでは壊れる。Invalid regular expression: 無効なグループ指定名 /(?<=\/)([^#]+)(?=#*)/ です。
2023-06-15 06:22:41
質問
私のJavascriptのコードでは、以下の正規表現があります。
/(?<=\/)([^#]+)(?=#*)/
は、Chromeでは正常に動作しますが、サファリでは、私は取得します。
無効な正規表現: 無効なグループ指定子名
何か思い当たることはありますか?
どのように解決するのですか?
Safariのように見える
はまだ lookbehind をサポートしていないようです。
をサポートしていないようです (つまり、あなたの
(?<=\/)
). もう一つの方法は
/
を非捕捉グループに入れ、最初のグループだけを取り出す。
/
の前、そして
#
).
/(?:\/)([^#]+)(?=#*)/
また
(?=#*)
はおかしいです。
何か
(例えば
#
や文字列の末尾など)ではなく
*
という量詞(
ゼロ
またはそれ以上の頻度で
#
). のようなものを使うのがよいかもしれません。
/(?:\/)([^#]+)(?=#|$)/
あるいは、ルックヘッドを完全に省略することもできます(なぜなら
([^#]+)
は欲張りなので)、状況に応じて、ルックヘッドを完全に省略することもできます。
関連
-
[解決済み】JavaScriptで「無効な日付」のDateインスタンスを検出する
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] HTML5のlocalStorageにオブジェクトを格納する方法は?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] 動的に生成された要素にイベントバインディングを行うか?
-
[解決済み] JavaScriptの正規表現でマッチしたグループにアクセスするにはどうすればよいですか?
-
[解決済み] <Enter>でjQuery UIダイアログを送信する
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] reactのrender関数でdynamic hrefを作成するには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 文字列の完全一致のための正規表現
-
[解決済み] javascript regex - look behind alternative?
-
[解決済み] AngularJSのエラーです。Cross Origin リクエストはプロトコルスキーム http, data, chrome-extension, https に対してのみサポートされています。
-
[解決済み] 上級者向けJavaScript。この関数はなぜ括弧でくくられるのですか?重複
-
[解決済み] Javascriptによるタッチスクリーンデバイスの検出
-
[解決済み] CORS OriginヘッダーとCSRFトークンによるCSRF保護
-
[解決済み] Prototypeを使ってtextareaを自動サイズ調整するには?
-
[解決済み] <ng-content>が空かどうかを確認する方法は?(これまでのAngular 2+で)
-
[解決済み] なぜjavascriptのES6 Promisesはresolve後も実行を継続するのですか?
-
[解決済み] javascriptのキャンバスで画像をリサイズする (スムーズ)