首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我有正则把字符串拆分成单词,数字和标点符号列表。如何使列表中的"a-z“和"0-9”单元素?

我有正则把字符串拆分成单词,数字和标点符号列表。如何使列表中的"a-z“和"0-9”单元素?
EN

Stack Overflow用户
提问于 2015-03-11 11:03:43
回答 1查看 135关注 0票数 5

看起来是这样的:

代码语言:javascript
复制
string[] lines = Regex.Split(line, @"\s+|(?!^)(?=\p{P})|(?<=\p{P})(?!$)");

它被分割成"ASds22d. asd ,156""ASds22d" + "." + "asd" + "," + "156"

这是像“and”、"0-9“这样的字符串的问题,或者像”and“和"4-5”这样的变体。我的regex将"a-z 1-9"拆分为"a" + "-" + "z" + "1" + "-" + "9",但我只需要"a-z" + "1-9"

有人能修好这个大梁吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-11 11:23:34

代码语言:javascript
复制
\s+|(?!^|-)(?=\p{P})|(?<=\p{P})(?<!-)(?!$)

您可以尝试一些类似于this.This不会在-.If上拆分的东西--您有任何需要在-上拆分的示例--它可以再次ORed。

见演示。

https://regex101.com/r/iS6jF6/3

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28984900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档