2012-06-05 80 views
0

我需要爲不以點開頭的單詞創建正則表達式,它可能包含任何字母,空格和點。不以點開頭的單詞的正則表達式

例:樣品,sample.test,樣品測試

正則表達式應該允許。樣品,樣品,樣機。測試

如何爲這個正則表達式?

回答

1

此正則表達式:^[^.][\p{L} .]+$應與你所追求的。

^是一個錨,它將指示正則表達式引擎從字符串的最開始處開始匹配。 [^.]將匹配任何不是句點的字符(.)。 [\p{L} .]+將匹配一個或多個字符,該字符可以是字母(如here所示的任何語言),空白區或句點。最後,$將指示正則表達式在字符串結尾處終止匹配。

編輯:根據你的評論問題,像這樣的東西應該是可測試的:^[^.][a-zA-Z .]+$

+0

否我在http://www.regular-expressions.info/javascriptexample.html不工作測試 –

+0

可以發佈有效regx我可以用regular-expressions.info/javascriptexample.html這個鏈接進行測試嗎? –

+0

@Vetrivelmp:我建議你使用.NET來測試它,這是你的問題所屬的主題。如果我記得正確的話,並非所有在線正則表達式工具都支持Unicode。 – npinti

0

使用此

\b\p{L}[\p{L}\s.]*\b 

說明

@" 
\b   # Assert position at a word boundary 
\p{L}   # A character with the Unicode property 「letter」 (any kind of letter from any language) 
[\p{L}\s.] # Match a single character present in the list below 
       # A character with the Unicode property 「letter」 (any kind of letter from any language) 
       # A whitespace character (spaces, tabs, and line breaks) 
       # The character 「.」 
    *    # Between zero and unlimited times, as many times as possible, giving back as needed (greedy) 
\b   # Assert position at a word boundary 
" 
+0

這裏的單詞不是以點開頭的嗎? –

+0

@Vetrivelmp:'\ b'標記表示單詞的開始和結束。上面解釋的正則表達式明確指出,在任何情況下,任何語言,任何語言,首字母必須是字母 – npinti

相關問題