补充一下如果出现 aaa 和 "aaa"只能取出 aaa 不能取出"aaa" 里的 aaa
解决方案 »
- 鼠标监听事件的问题
- 求一个比较完整的Dojo项目java版的
- 判断radio是否选中的脚本不起作用
- 页面关闭时,自动弹出是否设置为主页
- 为什么添加事件没效果?
- 在线播放多媒体
- jquery页面加载问题....在线等待
- >_< >_< >_< 怎么判断区间不存在重叠的 数据段啊,菜鸟求~~~~~~~~~~~~~~~~~~~~~
- onresizeend事件我在msnd里面可以找到,为什么在页面上用的时候就无效呢?
- Javascript和Jscript有区别吗?
- js的自适应高度问题与 iframet填充问题 在线等
- javascript中missing(before function parameters错误
var str = "aabbcc \"ccccc\" dddd qqqq eeee \"wwwwee\" \"wwqwwqw\" aaaasd 'asdsadw' poqwep \"asdasdasd\" asdsadasd \"aaa\" aaa";
楼主到底想得到什么?
是a = ["aabbcc","dddd","qqqq", ... "aaa"]
b = ["ccccc","wwwwee","wwqwwqw","aaa"]这两个Array,可以这样理解吗?
如果str中出现两个aaa或者两个"aaa"怎样处理?
用javascript的话用str.split(/("|'|\s+)+/);
得到的结果都是String的数组,然后挨个取就行了
我想处理后会变成这样
alert(str_rebuild)->[A]aabbcc[/A] "ccccc" [A]dddd[/A] [A]qqqq[/A] [A]eeee[/A] "wwwwee" "wwqwwqw" [A]aaaasd[/A] 'asdsadw' [A]poqwep[/A] "asdasdasd" [A]asdsadasd[/A] "aaa" [A]aaa[/A]以上是输出结果我知道直接用replace不好弄,可能会出现
aaa "aaa"
被改成
[A]aaa[/A] "[A]aaa[/A]"
或者
[A]aaa[/A] "[A]aaa[/A]"
的形式再说明一点比如aaa bbbb cccc这些只是关键字,均由变量输入,组成特定的正则表达式
直白地说,我想做一个语法高亮的东东,还有就是自动判断缩进(缩进由程序输出,当然像Python这种完全靠缩进解释执行的语言是不加自动的了)
用javascript的话用str.split(/("|'|\s+)+/);
得到的结果都是String的数组,然后挨个取就行了--------------------------------------------------------------如果是这种办法的话效率的确不高处理一组字符串还可以谢谢意见....
var str = "aabbcc \"ccccc\" dddd qqqq eeee \"wwwwee\" \"wwqwwqw\" aaaasd 'asdsadw' poqwep \"asdasdasd\" asdsadasd \"aaa\" aaa";
楼主到底想得到什么?
是a = ["aabbcc","dddd","qqqq", ... "aaa"]
b = ["ccccc","wwwwee","wwqwwqw","aaa"]这两个Array,可以这样理解吗?
如果str中出现两个aaa或者两个"aaa"怎样处理?
=---------------------------------------------=如果是单纯得到这两个Array那就不好复原顺序了...关于数组当时我还想过多维,然后其中一维记录排位(RegExp的index属性),再用Array的sort排一排貌似原理上可以实现,但是效果还是不好吧...目前最想是有达人写出提取或者是替换(或者叫插入吧)的一个(最好不过,只是不现实了)或者多个正则式谢谢大家关注
对非引号分隔字符用 \s\b和\b\s 判断单词是否结束,开头,结尾单独判断或用^$判断
对用引号的用\"\b和\b\"判断,
直接替换就行了,顺序肯定一样
---------------------------------------------------------------我就是在自己做一个基于Js的DOM操作语法高亮插件时遇上了上面的问题比如我本想把关键字var改成<span id="keyword">var</span>却顺便也把 "var" 改成了<span id="string">"<span id="keyword">var</span>"</span>这样说明白么?
所有可能有可能无的都可以用?或*表示就行了,相信你已经找到解决办法了
所有可能有可能无的都可以用?或*表示就行了,相信你已经找到解决办法了
-----------------------------------------------------------------这个直接匹配显然是不现实的这样会把"内的也匹配出来另外一个问题就是那个" return "这样的话前面做的都没有效果了呵呵还是退回到递归的方法把引号全取出来单独对待才行