我正在寻找创建由4个空格分隔的组 问题是,如果该组包含除4个空格分隔符之外的任何空格,则与到目前为止我尝试过的正则表达式不匹配
这是我尝试过的。 假设我有这两行,单词之间有4个空格
word 1 word 2
word1 word2
正则表达式为
^([^ {4}]*) {4}([^ {4}]*)$
这仅匹配第二行。除了4个空格分隔符以外的任何其他空格都将与该行不匹配。
我希望这两行都匹配并找到正确的组。
答案 0 :(得分:1)
答案 1 :(得分:1)
您可以指定要匹配的字符,而不是使用非贪婪的点星.*?
方法。
如果您的数据仅包含例如单词,则可以匹配1+个单词字符\w+
,后跟一个重复模式(\w+(?: \w+)*)
以匹配一个空格,再匹配1+个单词字符,然后再匹配4个空格。 / p>
请注意,如果要比单词字符更多匹配,可以使用character class并添加允许匹配的字符。
^(\w+(?: \w+)*) {4}(\w+(?: \w+)*) {4}(\w+(?: \w+)*)$
答案 2 :(得分:0)
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+)