1
私はこの正規表現を持っていますが、これは.Netでは動作しますが、ASPクラシックでは動作しません。それはまた上で動作しますRegExrASPクラシック正規表現は.Netとは異なる動作をします
スペースが引用符の内側でない限り、スペースをカンマで置き換えるために使用されます。
dim strSearch
dim strPattern
strPattern = "\s(?=(?:[^\x22]*\x22[^\x22]*\x22)*[^\x22]*\z)" '\x22 = " (dbl quotes)
strSearch = The "quick brown" fox jumps
strSearch = ereg_replace(strSearch, pattern, ",", true)
response.write(strSearch)
'Expect: The,"quick brown",fox,jumps
'Actual: The "quick brown" fox jumps
function ereg_replace(strOriginalString, strPattern, strReplacement, varIgnoreCase)
dim objRegExp : set objRegExp = new RegExp
with objRegExp
.Pattern = strPattern
.IgnoreCase = varIgnoreCase
.Global = False
.Multiline = False
end with
ereg_replace = objRegExp.replace(strOriginalString, strReplacement)
set objRegExp = nothing
end function
パターンをASPクラシックで使用するために変更する必要があるものは何ですか?
'" \ x22 "'はスペースではありません。これは二重引用符です: '' '。スペースは' "\ x20" ' – kirilloid