js如何用正则分别匹配dom元素,数字,数字加单个空格,多个空格,以及字符串?

比如:

"<a href='#'>23</a>      650 741 8219     123456789  asdsadasd"

匹配结果为

["<a href='#'>23</a>", "      ", "6507418219", "     ", "123456789", "  ", 'asdsadasd']
阅读 3.7k
2 个回答

你给的例子应该是有问题的,结果的第三个值在文本里面是有空格分开的

不说清楚,就一个例子,很难知道你要适配什么情况,你这样提问是有问题。

我按你例子写了一个,结果不同的地方是数字之间的单个空格没去掉,你使用匹配结果的时候再去一下就好了。

<script>

"<a href='#'>23</a>      650 741 8219     123456789  asdsadasd".match(/(?:<([a-z]+)[^>]+>[^<]+<\/\1>|[\s]+|[0-9]+(?:\s[0-9]+)+|[0-9a-z]+)/g)

// ["<a href='#'>23</a>", "      ", "650 741 8219", "     ", "123456789", "  ", "asdsadasd"]

</script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题