首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正则表达式在标点符号的两个或多个实例上拆分,并且仅在其他一个或多个实例上拆分

正则表达式在标点符号的两个或多个实例上拆分,并且仅在其他一个或多个实例上拆分
EN

Stack Overflow用户
提问于 2021-11-19 15:41:24
回答 1查看 28关注 0票数 0

我不熟悉正则表达式,我正在尝试编写一个(Python风格的),它允许我在每个标点符号或空格处拆分,除了单个连字符(例如,9-5Mon-Fri不会被拆分)。但是,我要处理的文本有时包含一系列连字符,如-------------,用于分隔文档的段落或主题不同的部分。因此,我想要一个解决方案,在除连字符之外的每个标点符号的一个或多个匹配项上拆分,并在2个或更多个连字符的组合上拆分。

我已经尝试使用以下代码:

代码语言:javascript
运行
复制
re.split(r"[-{2,}\.,:\s]", mystring)

但是-{2,}部分是逐字解释的。我也尝试将其合并到一个组中,但同样,括号是按字面解释的。我知道我可以编写第一个正则表达式来用空字符替换多个连字符,并编写第二个正则表达式来查看所有其他空格和标点符号;然而,我想知道是否有一种方法可以在一个步骤中做到这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-19 15:49:37

character类中的大多数内容...是一个文字,除了在某些上下文中的连字符和反斜杠(以及在某些正则表达式中的/ ...)。因此,[-{2,}\.,:\s]匹配除\s之外的所有文字字符。还有其他字符类运算符引用了HERE,比如^,但是大多数正则表达式元字符不再在字符类中工作。

我想你可能正在寻找改变:

代码语言:javascript
运行
复制
[,.\/]|-{2,}
 ^            add whatever punctuation you want to split on

(在Python中,没有打开正则表达式的概念,您可以在字符类中使用/而不进行转义:[,./]|-{2,})

Demo

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

https://stackoverflow.com/questions/70037391

复制
相关文章

相似问题

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