正则表达式允许whitspace而不计算它们

时间:2018-01-24 09:36:04

标签: regex

如何获得

  • [\d ]{6}

匹配:

  • 1 23456
  • 1 2 3456
  • 1 2 3 456
  • 1 2 3 4 56
  • 1 2 3 4 5 6

换句话说,我希望这个空间不计入char限制。像[\d]{6 + but allow spaces you can eat}

这样的东西

3 个答案:

答案 0 :(得分:3)

以下内容将匹配6个数字,并且它们之间有任意数量的空格字符。

(?:\d\s*){5}\d
开始时

?:会使群组无法捕捉。如果你想做的只是一个简单的匹配,就没有必要了。

一个实例:

https://regex101.com/r/PZJ8DO/2

答案 1 :(得分:0)

您可以尝试使用

(?<=).*6.*

这将匹配任何包含'6'的行,即使行中有一些空格或其他字符。

(?&lt; =)正面看。

。匹配除换行符之外的任何字符。

*匹配前面标记的0或更多。

6匹配“6”字符。

您可以在此处测试正则表达式:RegExr

请注意,所有版本的RegEx都不支持正面隐藏功能。

答案 2 :(得分:0)

只是为了把我的两分钱放进去:你可以使用与\d相反的大多数风格的\D

^(?:\d\D*){6}$

请参阅a demo on regex101.com

<小时/> 请注意,这甚至可以允许像

这样的东西
1a2b3c4d5e6

如果这不是您想要的(意味着您只想允许空格而不是其他内容),请使用\s*代替\D*