簡體   English   中英

如何在排除某些字符的同時正則表達式測試字符串的模式?

[英]How to regex test a string for a pattern while excluding certain characters?

我對此一無所知...

我需要測試一個字符串是否包含%2並且同時不包含/ 我不能使它使用正則表達式工作。 這是我所擁有的:

var re = new RegExp(/.([^\/]|(%2))*/g);
var s = "somePotentially%2encodedStringwhichMayContain/slashes";

console.log(re.test(s))  // true

問題
我如何編寫一個正則表達式來檢查字符串是否包含%2而不包含任何/斜杠?

請嘗試以下操作:

^(?!.*/).*%2

盡管Sebastian S.所指的鏈接是正確的,但是有一種更簡單的方法可以執行此操作,因為您只需要檢查字符串中是否沒有單個字符即可。

/^[^\/]*%2[^\/]*$/

在此處輸入圖片說明

編輯:太晚了...哦,很好:P

都可以使用逆匹配,如下所示: 正則表達式匹配不包含單詞的行?

或在if語句中使用indexOf(char)。 indexOf返回字符串或char在字符串中的位置。 如果找不到,它將返回-1:

var s =“ test /”; if(s.indexOf(“ /”)!=-1){

//包含“ /”

}其他{

//不包含“ /”}

暫無
暫無

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

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