正则表达式与6位数字彼此靠近

时间:2018-11-30 21:52:19

标签: regex

我可以输入以下文字:

words on this line maybe numbers like 4n1me
words here 123456 other words here.

我想从4n1me获取123456号,而不是4号和1号。 这个正则表达式[+-]?\ d +(?:。\ d +)?前后都有空格找到我的123456号

问题是我的数字中有1 2 3 4 5 6之类的空格,它只能得到前1个数字字符 如何修改正则表达式以忽略空格并返回1 2 3 4 5 6?

如果我有123456,我想找到123456,然后我可以删除空格以使用数字。

彼此之间总是会有6位数字。

2 个答案:

答案 0 :(得分:2)

您可以将此正则表达式与单词边界一起使用:

[+-]?\b\d+(?: +\d+)*\b

RegEx Demo

RegEx详细信息:

  • [+-]?:在开始时匹配可选的+-
  • \b:声明单词边界
  • \d+:匹配1个以上的数字
  • (?: +\d+)*:匹配1+个空格,后跟1+个数字。匹配此集合中的0个或更多。
  • \b:声明单词边界

答案 1 :(得分:0)

您可以使用以下正则表达式:

 [+-]?\b(\d[ ]*){6}

正则表达式创建一个与digit后跟any number of Spaces(可选)匹配的组。

该组与6 times相匹配。

仅当数字之间有空格而不是字母时才匹配。

相关问题