RegEx表示字符串中的N个空格
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RegEx表示字符串中的N个空格相关的知识,希望对你有一定的参考价值。
我期待创建组,由4个空格分隔问题是,如果组包含除4空格分隔符之外的任何空格,则与我到目前为止尝试的正则表达式不匹配
这就是我尝试过的。假设我有这两行,单词之间有4个空格
word 1 word 2
word1 word2
正则表达式是
^([^ {4}]*) {4}([^ {4}]*)$
这只匹配第二行。除4空格分隔符以外的任何空间的存在将与该行不匹配。
我希望在这两行中匹配并确定正确的组。
答案
经过一些实验并基于这里的好建议,我带来了This RegEx:
^(.*?) (.*?) (.*?)$
从表面上看,它可以满足我的需求。最后一行最后有4个空格块,但这不应该发生。我没有看到任何陷阱?
另一答案
您可以指定要匹配的字符,而不是使用非贪婪的点星.*?
方法。
如果您的数据仅包含单词,则可以匹配1个单词字符w+
,然后是重复模式(w+(?: w+)*)
,以匹配空格和1个单词字符,然后匹配4个空格。
请注意,如果要匹配单词字符的更多内容,可以使用character class并添加允许匹配的字符。
^(w+(?: w+)*) {4}(w+(?: w+)*) {4}(w+(?: w+)*)$
另一答案
This RegEx可能会帮助您将输入字符串分为五组,其中第二组和第四组是四个空格:
([a-zA-Z0-9_ ]*)(s{4})([a-zA-Z0-9_ ]*)(s{4})([a-zA-Z0-9_ ]*)
如果列中可能没有空格,可以使用this RegEx简化它:
(w+)(s{4})(w+)(s{4})(w+)
以上是关于RegEx表示字符串中的N个空格的主要内容,如果未能解决你的问题,请参考以下文章
在 python 中使用 Regex 将 $$ 或更多替换为单个空格