2017-08-10 62 views
-3
Input: 123456 789101112 123456 1234561 

我只想選擇只有15位數字(不在中間)。如何在正則表達式中選擇確切的長度?

123456 789101112(長度16)然後我需要選擇123456.剩餘數字也需要選擇像這樣的邏輯。 (組每場比賽)。

output: 
Match1: 123456 
Match2: 789101112 
Match3: 123456 1234561 (This is exact 15 digits from the space) 

正則表達式:http://rubular.com/r/Zt0ib08Y6F

+0

刪除空格,然後應用正則表達式。你在用什麼語言? – Maroun

+0

對不起,但'123456'不是15或16位的子字符串。 –

+0

嘗試'\ b \ d [\ d \ s] {0,13} \ d \ b' – ikleschenkov

回答

1

您可以使用:

\b\d[\d\s]{0,13}\d\b

見例如:

https://regex101.com/r/2mKDH8/1

+0

123456 123-123-456這個文本我需要兩個匹配之一是Match1:123456,Match2:123-123-456 ...請幫助@ikleschenkov – user6479492

+0

@ user6479492然後你應該試試這個:'\ b \ d [\ d \ S - ] {0,13} \ d(? - !)\ B'。請參閱示例:https://regex101.com/r/2WwFSz/1 – ikleschenkov

+0

謝謝@ikleschenkov。如何支持所有特殊字符 – user6479492

0

我想你可以用一組包含空白處理這個問題。假設比賽需要用空白bookended:

\s([0-9\s]{15})\s