[英]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.