簡體   English   中英

如何正確轉義單引號?

[英]How to properly escape a single quote?

我使用以下正則表達式來驗證電子郵件地址:

var content = /^([\w._+-]|(<?))+[a-zA-Z0-9]@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\_]+\.)+[a-zA-Z0-9-_.]{1,}))$/;

我需要在@符號前允許' ,所以根據這個答案,我將正則表達式更新為:

var content = /^([\w._+-/\']|(<?))+[a-zA-Z0-9]@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\_]+\.)+[a-zA-Z0-9-_.]{1,}))$/;

注意在第一個捕獲塊中添加了/\\'

但是,我現在可以在不應該包含/保存數據。 如果我只是嘗試在捕獲塊中添加一個' ,則會拋出'無效的正則表達式'錯誤。

如何在不使用正斜杠的情況下轉義單引號字符?

編輯:對於評論中的討論,這是一個屏幕截圖:

在此處輸入圖片說明

第一個是Visual Studio錯誤

第二是Chrome調試器中的這一行

第三個是我跨過正則表達式創建時拋出的異常。

您無需在正則表達式文字中轉義單引號。

您遇到的問題是-結束您的角色類。 如果將其放置在末尾,則它用作文字-在兩個字符之間使用時會打開一個范圍。

您當前試圖打開之間的范圍+/ ,其中包括,- 如果直接使用' ,則范圍無效,因為'索引比+低。

要解決此問題,請轉義減號\\-或再次將其移至末尾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM