请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请教一个正则问题

请问老师,我希望提取字符串中不含某个字符串“abc”的正则应该怎么,用[abc]会把所有的a,b,c字符都去除了,但是我只要匹配abc串啊,如果用小括号也不行[(abc)],它直接把小括号当成一个字符匹配了,应该怎么做呢?谢谢老师!

正在回答 回答被采纳积分+3

1回答

双越 2019-10-26 13:46:20

“我希望提取字符串中不含某个字符串“abc”的正则应该怎么”—— 没懂你的需求。

例如 var s = 'xxabcyyabczzabc123'; 你想从中提取出什么?

0 回复 有任何疑惑可以回复我~
  • 提问者 慕设计9348276 #1
    var s = 'xxabcyyabczzabc123';  我想从中提取xx,yy, zz,  正则是不是可以这样写: /\w+(?=abc)/,如果var s = 'xxabcyycbezzfbh123'; 我h还是想从中提取xx,yy, zz,  是否 /\w+[^acf]/,但是我需要后面结尾分隔的如果不是单个字符,而是ab,cb,fb,我不知道如何写,利用前置,后置都不行
    回复 有任何疑惑可以回复我~ 2019-10-26 16:11:43
  • 双越 回复 提问者 慕设计9348276 #2
    直接 s.split('abc') 得到一个数组,行吗?
    回复 有任何疑惑可以回复我~ 2019-10-26 17:26:05
  • 提问者 慕设计9348276 回复 双越 #3
    其实需求的原型就是抽取选择题的选项,如果只是 var s = 'xxabcyyabczzabc123'; ,确实可以用split来抽取,但是如果是A. Order By    B.Create  C. Delete  D.ASC    我希望抽取出每个选项的文字内容,应该怎么做呢?我尝试过 [ABCD]\.+[\s]+[^BCD],但是当选项中遇到有BCD的话,就会截断了,[]里的内容有只能是字符集,我本来想加上[(B.)(C.)(D.)],觉得它把()都当成是字符集里的字符了。。想不出很好的解决方法,
    回复 有任何疑惑可以回复我~ 2019-11-05 09:44:50
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信