簡體   English   中英

JS正則表達式,帶有變量和可能的非法字符

[英]JS Regex with variables and possible illegal chars

我無法在Javascript中使用此正則表達式字符串:

var input = $("input").val();
var hi = "(?<=[^ ​ ‍])" + input + "(?=[$ ​ ‍])";
var reg = new RegExp(hi);
alert(reg);

最后一行不起作用,但是當正則表達式有效時它起作用。 在將變量傳遞給regex對象之前,我將變量放入第二個字符串中以進行完整的regex搜索。 為什么此正則表達式查詢無效? (如果您想知道,括號中的字符是空格,zwsp,nbsp和zwj。)

JavaScript正則表達式不支持后向。

但是,它們確實支持預讀,因此,如果您確實需要該功能,則可以反轉輸入並編寫表達式“ backwards”。 如果您想同時進行前瞻和后視,則這會有些復雜。

由於您尚未透露實際要實現的目標,因此您可以避免零寬度匹配,而只需使用正常的捕獲組即可。

暫無
暫無

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

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