2012-12-02 256 views
3

我想要一個匹配所有數字,字母和所有標點符號的正則表達式(句號,逗號,問號,感嘆號,冒號等)。正則表達式匹配所有的數字,字母和標點符號嗎?

該字符串必須至少有一個字符長,但可以是任何長度以上的字符。

可能嗎?

+1

我們說的是Unicode還是ASCII? –

+0

你的意思是說正則表達式應該匹配由這些符號組成的所有字符串嗎?它應該匹配由一個字符組成的字符串還是由任意數量的字符組成的字符串? –

+0

例如,如果正則表達式匹配字符串'5',並且它應該匹配字符串'(這裏是一個示例.12345!?,。;)'? –

回答

1

如果我理解得好,應該很容易。請嘗試:

(.+) 

此正則表達式匹配任何字符的一個或多個匹配項。 這是匹配(和重用)任何字符串的最簡單方法。也許你已經知道正則表達式中括號的含義了。它們被用於反向引用,即,稍後再使用匹配的字符串。

點字符表示:除新行外的任何字符。 加號,是一個操作符,是貪婪的。它意味着一個或多個前面的字符串出現。

+0

這個問題並不是100%清楚的,他/她想匹配什麼。但我想這不是每個角色。 –

+0

「字母,數字和任何標點符號」...... :)也許你是對的,但恕我直言,考慮到在後標籤有「htaccess」,他很可能嘗試重寫。 – freedev

1

開始:(科:POSIX字符類(US-ASCII只))

http://www.regular-expressions.info/charclass.html

一個例子:

[A-Za-z_0-9]* 

將匹配在ASCII加下劃線的字母標準什麼。

你可以添加你想要的標點符號。

您可以使用\ w匹配任何單詞字符,並根據您使用的正則表達式實現它也可能匹配unicode字符。

另一種方法是確定你不想匹配什麼。如果你想匹配一串不是空白的字符,你可以使用

\S* 
+0

a downvote :-(?? –

相關問題