簡體   English   中英

正則表達式與特殊字符元字符匹配

[英]regex matching with special characters metacharacters

我正在嘗試匹配某些字符串,盡管我必須轉義一些特殊字符,但仍然無法正確匹配。

我有這個

 var first=/.+?(?=\[)/i

仍然匹配整個字符串,只需要匹配第一個[

這是字符串業務[帳戶]

我需要匹配業務然后匹配帳戶。 它是用於以后用於獲取對象符號的插件的。 每個元素都有一個不同的屬性。

對於這種簡單的事情,實際上並不需要提前進行。 嘗試使用以下字符類:

var first = /[^[]+/

這將匹配[ 以外的任何一個或多個字符。

如果您想將其處理為可以匹配字符串兩個部分(例如"business[account]"的正則表達式,請嘗試以下操作:

/([^[]+)\[([^\]]+)\]/

這將匹配在組1中捕獲的[ 以外的任何一個或多個字符,然后是[ ,然后是在組2中捕獲的] 以外的任何一個或多個字符,然后是]

例如

console.log(/([^[]+)\[([^\]]+)\]/.exec("business[account]"));
// ["business[account]", "business", "account"]

你快到了; 只需添加組(帶括號)以匹配您想要的內容即可:

var m = /(.+?)\[(.+?)\]/.exec("business[account]");
console.log("variable: " + m[1], "index: " + m[2]);

暫無
暫無

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

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