2010-06-11 83 views
0

的字符串可能如何看一個例子:正則表達式匹配「四個字符,然後是未知的數字。」

TADE000177 
TADE007,daFG 
TADE0277 DFDFG 
+2

您的例子並不匹配您的標題給出的描述。您要求提供「四個字符,後跟未知的數字」,但只有您的第一個示例遵循該模式。 第二個例子是四個字符,一些數字,一個逗號和一些字符。 你以後在哪? 編輯:可能在這裏跳過槍 - 是那些你想分析模式的輸入的例子(而不是模式本身的例子)? – 2010-06-11 10:20:38

回答

2

正好四個字符,隨後1個或多個數字:[A-Z]{4}\d+

如果將其放入字符串文字中,請記住要將反斜槓轉義。

擊穿:

  • [A-Z]…:一個大寫字母,相當於\p{Upper}
    • 也包括小寫字母,你也可以使用[A-Za-z]\p{Alpha}
  • …{4}…正好4次
  • …\d…+一個數字
  • …+ 1次或多次
    • 要允許數字0,你可以更改爲*
+0

謝謝你做得很好! 我應該更好地指定要求,但是這個要求甚至可以處理數字後面的字符。 謝謝你! – tzippy 2010-06-11 10:26:15

6

這是一個有點不清楚你想要什麼。如果不是大寫字母要允許任何字符

"^[A-Z]{4}[0-9]+" 
  • 如果你的意思是,從A到Z在0-9的四位字母大寫,後面至少一個數字,你可以試試這個但換行符[A-Z].除外。

  • 如果您還想允許零數字將+更改爲*
0
"^\w{4}\d*$" 

這應該匹配任何4個字符和任意數量的數字。根據你的例子,如果有的話,數字後面可能會有字符。也許如果你給我們一個樣本輸入和一個樣本輸出,我們可能會幫助更多。

有關正則表達式的更多信息,請here

0

如果我明白你問正確的內容,你可以嘗試:.{4}\d*

0
^\w{4}.*$ 

匹配開始的4個字符後跟任意數量的任何其他charcters的字符串。 您的示例中包含空格和標點符號,如果您確切知道允許使用哪些字符,則可能需要使用此模式。

^\w{4}[A-z\d<other known characters go here>]*$ 

請記住刪除<和>太:)