我试图测试/
字符是否在JavaScript字符串中的双引号内。例如,"hello/world"
将匹配,而hello/world/"How are you"
将失败,因为它在双引号之外。我一直在四处寻找,但却没有找到答案。
此外,"hello"world/how"are you"
应该失败,因为打开和关闭双引号不会封装/
,从左到右确定。重申一下,我想匹配在/ strong /之间关闭和打开双引号的所有实例,这与Alternative to regex: match all instances not inside quotes
答案 0 :(得分:2)
答案 1 :(得分:-1)
str = 'hello/world"how are you"';
q1 = str.indexOf('"');
q2 = str.lastindexof('"');
slsh = str.indexOf("/");
if( slsh > q1 && slsh <q2){
dosomething;
}
答案 2 :(得分:-1)
如果不使用正则表达式,算法就像是......请自己测试一下!
Startquotehit = false
insidequote = false
Gotaslash = false
Wantedresult = false
For x to.. String.length
{
If x == quote
{
Startquotehit = true;
Insidequote = !insidequote;
If gotaslash == true && insidequote
Wantedresult = true;
}
If x == slash
{
If startquotehit
Gotaslash = true;
}
}
Wantedresult会告诉你是否引用了斜线&#39;在引号内&#39;掩盖你的错误情景&#34; ....&#34; ... / ...&#34; ...&#34;
答案 3 :(得分:-2)
/".*\/.*"/.test(your_string)
请参阅JavaScript正则表达式'test方法。