"abc" 合法字符串true
'abc' 合法字符串true
a+"abc" 变量加字符串false
"a"+b+'c' 变量加字符串false
""abc"" 非法格式false
'"abc"" 非法格式false
'"abc"' 合法字符串true
"'abc'" 合法字符串true
"abc"+"cde" 合法字符串true
等等...
目前楼主的方法
var regexString = /^["'](.*)["']$/gi
显然有很多情况都不能得到正确结果。
求教大家有好的解决方法或者知道有现成的npm轮子吗?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
有一个勉强可以解决方法就是用
不知是否有更好
再复杂就不适合纯正则了, 可能撸个interpreter更单纯
根据你的描述,我总结出以下规则:
引号一定要成对匹配
两个子字符串之间仅能用
+连接(空白字符除外)我写了个状态机:
Update:卧槽理解错了。。请忽略以上代码(逃
可以用 JSON 展开要处理的变量,失败则不是合法字符串,成功则进一步判断解开后的值类型即可。需要额外处理一下前后的单引号,因为合法的 JSON 字符串必须用双引号。更新:
可以尝试结合 eval 和 String 构造器检查