必须简单修复,但我无法看到我的生活中我做错了什么。
我在在线测试仪中测试了reg表达式并且它有效, 所以假设它是Flex依赖的问题。
这是我的代码和跟踪输出 - 只是在删除一个元素时尝试压缩字符串。
trace('Found Job To Delete:' + strJobToDelete);
strJobRegExp = "(" + strJobToDelete + "\\, )|(, " + strJobToDelete + ")|( " + strJobToDelete + ")|(" + strJobToDelete + " )"
trace('Reg exp: ' + strJobRegExp);
findJobRegExp = new RegExp(strJobRegExp);
strJobNumList.replace(findJobRegExp, '');
trace('After Remove: ' + strJobNumList);
这是输出:
找到要删除的工作:0007-13
Reg exp:(0007-13 \,)|(,0007-13)|(0007-13)|(0007-13)
删除后:0007-13,0006-13
编辑后===>新工作:0007-13,0006-13
答案 0 :(得分:0)
您与空格或空格和逗号匹配,但不是没有任何一个。
请尝试使用此模式:
" 0007-13(?!,)|, 0007-13|0007-13,? |0007-13"
strJobRegExp = " #(?!,)|, #|#,? |#".replace(/#/g, strJobToDelete);
(?!,)
是一个负面的预测,并表示下一个位置一定不会有逗号。它不消耗角色。
<强>结果:强>
"0007-13" -> ""
"0007-13 0008-13" -> "0008-13"
"0008-13 0007-13" -> "0008-13"
"0007-13 0008-13 0009-13" -> "0008-13 0009-13"
"0008-13 0007-13 0009-13" -> "0008-13 0009-13"
"0008-13 0009-13 0007-13" -> "0008-13 0009-13"
"0007-13, 0008-13" -> "0008-13"
"0008-13, 0007-13" -> "0008-13"
"0007-13, 0008-13, 0009-13" -> "0008-13, 0009-13"
"0008-13, 0007-13, 0009-13" -> "0008-13, 0009-13"
"0008-13, 0009-13, 0007-13" -> "0008-13, 0009-13"
" 0007-13" -> ""
" 0007-13 0008-13" -> " 0008-13"
" 0008-13 0007-13" -> " 0008-13"
" 0007-13 0008-13 0009-13" -> " 0008-13 0009-13"
" 0008-13 0007-13 0009-13" -> " 0008-13 0009-13"
" 0008-13 0009-13 0007-13" -> " 0008-13 0009-13"
" 0007-13, 0008-13" -> " 0008-13"
" 0008-13, 0007-13" -> " 0008-13"
" 0007-13, 0008-13, 0009-13" -> " 0008-13, 0009-13"
" 0008-13, 0007-13, 0009-13" -> " 0008-13, 0009-13"
" 0008-13, 0009-13, 0007-13" -> " 0008-13, 0009-13"
"0007-13 " -> ""
"0007-13 0008-13 " -> "0008-13 "
"0008-13 0007-13 " -> "0008-13 "
"0007-13 0008-13 0009-13 " -> "0008-13 0009-13 "
"0008-13 0007-13 0009-13 " -> "0008-13 0009-13 "
"0008-13 0009-13 0007-13 " -> "0008-13 0009-13 "
"0007-13, 0008-13 " -> "0008-13 "
"0008-13, 0007-13 " -> "0008-13 "
"0007-13, 0008-13, 0009-13 " -> "0008-13, 0009-13 "
"0008-13, 0007-13, 0009-13 " -> "0008-13, 0009-13 "
"0008-13, 0009-13, 0007-13 " -> "0008-13, 0009-13 "
" 0007-13 " -> " "
" 0007-13 0008-13 " -> " 0008-13 "
" 0008-13 0007-13 " -> " 0008-13 "
" 0007-13 0008-13 0009-13 " -> " 0008-13 0009-13 "
" 0008-13 0007-13 0009-13 " -> " 0008-13 0009-13 "
" 0008-13 0009-13 0007-13 " -> " 0008-13 0009-13 "
" 0007-13, 0008-13 " -> " 0008-13 "
" 0008-13, 0007-13 " -> " 0008-13 "
" 0007-13, 0008-13, 0009-13 " -> " 0008-13, 0009-13 "
" 0008-13, 0007-13, 0009-13 " -> " 0008-13, 0009-13 "
" 0008-13, 0009-13, 0007-13 " -> " 0008-13, 0009-13 "