簡體   English   中英

正則表達式匹配整個字符串,但不區分大小寫

[英]Regular expression to match whole string but case insentitive

我有一個循環的代碼列表,提交表單時,我需要為每個代碼檢查一個精確但不區分大小寫的匹配項。

我用正則表達式提出了一個解決方案,但是它不是很完美(它忽略大小寫,但是會返回部分匹配項)。

例如,從我的代碼列表中獲取此示例-

EXC
EXD
EXD1

如果ex提交不匹配應該找到(但所有3個實例匹配),如果exd被提交僅EXD應匹配(但EXD1也匹配)。

val下面的代碼中,是表單中的用戶輸入,而v.code是每個循環的代碼-

if(v.code.search(new RegExp(val, "i")) >= 0){ ...

如何修改此代碼以滿足我的要求? 謝謝。

使用開始和結束錨點構建正則表達式:

if (new RegExp("^" + val + "$", "i").test(v.code)) {
  // match!
}

如果您擔心性能是否需要測試大量代碼,則可以預先構造正則表達式,這樣就不必為每次驗證都這樣做。

您可以完全不用正則表達式來執行此操作:

if (val.toLowerCase() == "insensitive string".toLowerCase())
{
    // ...
}

使用單詞邊界:

new RegExp('\\b'+val+'\\b', "i")

暫無
暫無

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

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