js这个需求的正则表达式该如何写啊

youth2004 2018-07-16 01:51:27
一个字符串: A你好AB我好C他好BD大家好
格式化后数组: [A你好A, B我好 , C他好B, D大家好]

要把字符串通过正则表达式后格式化成一个数组,不知道这个正则表达式该如何写,有没有高手帮帮忙啊,指点一二啊。。
注意字符串中有两个A和两个B,
...全文
599 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
youth2004 2018-07-21
  • 打赏
  • 举报
回复
唉,,看来没有人能写一个分割的方法了...
weixin_42737177 2018-07-19
  • 打赏
  • 举报
回复
well done!
szwhb2011 2018-07-18
  • 打赏
  • 举报
回复
那你就不要用正则去处理了,还是写个方法去分割吧。你这三种情况的规律又不一样
qq_38757714 2018-07-18
  • 打赏
  • 举报
回复
asdasdasdsadas
  • 打赏
  • 举报
回复
引用 16 楼 youth2004 的回复:
其实就是按照ABCDEFGH这样依次分割下去,以第一次遇到为分割点,之后再遇到ABCD....之中的字母,就不作为分割点。不知道我表达清楚了吗?
引用

原来字符串: var str = 'A.1B.2C.3D/4E5DFB3';
分割后: A.1, B.2 , C.3, D/4 , E5D, FB3
不知道能不能实现, 关键是按照ABCDEFGH次序分割下去

那你就不要用正则去处理了,还是写个方法去分割吧。你这三种情况的规律又不一样
youth2004 2018-07-18
  • 打赏
  • 举报
回复
谁能给写一个方法,帮忙处理一下,真心感谢
风中的少年 2018-07-17
  • 打赏
  • 举报
回复
没什么规律嘛
youth2004 2018-07-17
  • 打赏
  • 举报
回复
var str = 'ACtrl+KBCtrl+YCShift+KDShift+Y ';
上面的字符串中间是没有空格的啊
有没有高手写一个正则表达式啊。求救
youth2004 2018-07-17
  • 打赏
  • 举报
回复
原来字符串: var str = 'A.1B.2C.3D/4E5DFB3K2';
分割后: A.1, B.2 , C.3, D/4 , E5D, FB3K2
按照ABCDEFGH次序分割下去, 如果出现跳跃的字母K也不作为分隔符,
youth2004 2018-07-17
  • 打赏
  • 举报
回复
其实就是按照ABCDEFGH这样依次分割下去,以第一次遇到为分割点,之后再遇到ABCD....之中的字母,就不作为分割点。不知道我表达清楚了吗?
引用

原来字符串: var str = 'A.1B.2C.3D/4E5DFB3';
分割后: A.1, B.2 , C.3, D/4 , E5D, FB3
不知道能不能实现, 关键是按照ABCDEFGH次序分割下去
  • 打赏
  • 举报
回复
引用 14 楼 youth2004 的回复:

你这种数据是数据库查出来的?
youth2004 2018-07-17
  • 打赏
  • 举报
回复
youth2004 2018-07-17
  • 打赏
  • 举报
回复
引用 11 楼 LinBilin_ 的回复:
[quote=引用 8 楼 youth2004 的回复:]
var str = 'ACtrl+KBCtrl+YCShift+KDShift+Y ';
上面的字符串中间是没有空格的啊
有没有高手写一个正则表达式啊。求救


/[A-Z].+?[A-Z]?(?=\s*(?:[A-Z]|$))/g

[/quote]
高人,出现E和F后,只能正常按照ABCD分割啊。EF就不行了。。咋办啊
youth2004 2018-07-17
  • 打赏
  • 举报
回复
引用 11 楼 LinBilin_ 的回复:
[quote=引用 8 楼 youth2004 的回复:]
var str = 'ACtrl+KBCtrl+YCShift+KDShift+Y ';
上面的字符串中间是没有空格的啊
有没有高手写一个正则表达式啊。求救


/[A-Z].+?[A-Z]?(?=\s*(?:[A-Z]|$))/g

[/quote]
果真是高人,佩服了...膜拜你
  • 打赏
  • 举报
回复
引用 8 楼 youth2004 的回复:
var str = 'ACtrl+KBCtrl+YCShift+KDShift+Y ';
上面的字符串中间是没有空格的啊
有没有高手写一个正则表达式啊。求救


/[A-Z].+?[A-Z]?(?=\s*(?:[A-Z]|$))/g

「已注销」 2018-07-17
  • 打赏
  • 举报
回复
没有规律的话一个正则写不出来,分部拆分处理。
ambit_tsai-微信 2018-07-16
  • 打赏
  • 举报
回复

var str = 'ACtrl+K BCtrl+Y CShift+K DShift+Y ';
var arr = str.split(/\s+/).filter(v=>v);

  • 打赏
  • 举报
回复

"ACtrl+K BCtrl+Y CShift+K DShift+Y ".match(/\S+/g);
youth2004 2018-07-16
  • 打赏
  • 举报
回复
这种字符串就没有办法了吗?高人
  • 打赏
  • 举报
回复
引用 3 楼 youth2004 的回复:
还是不行啊。。
遇到字符串: ACtrl+K BCtrl+Y CShift+K DShift+Y
解析成: [ACtrl+K, BCtrl+Y, CShift+K, DShift+Y ]
解析就不成功了。。

你又不一次性说清,大佬也没办法。。。
加载更多回复(3)

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧