2012-09-19 34 views

回答

2

如何:

(?=\pL)(?![a-zA-Z]) 

這將匹配任何字母一個字母是不是拉丁字母:

not ok - cityدبي 
ok - city 
not ok - دبي 
+1

這不符合帶有口音的拉丁字符,如ąęśćżół? 我不得不說,我對一些說英語的人如何將重音拉丁字母當作二等字母感到非常惱火。 –

-1

只是使用[^a-zA-Z] 如果不匹配,它應該包含一個國際字符...

+1

-1或一個空格或一個句點......取決於語言環境和編碼。 – tripleee

+0

@tripleee我認爲regex.h支持unicode。我不認爲我們需要一個更復雜的正則表達式來區分單純的拉丁文字... – frogwang

0

試試這個:

[a-zA-Z]*[^A-Za-z \d]+[a-zA-Z]* 

方式:一個或多個非拉丁字母或之前隨後是一個或多個拉丁字母,即包含至少1個非拉丁字符的單詞。 見演示了一些隨機文本: http://regexr.com?326s3

您可能需要這個正則表達式適應您的需求,包括像數字,特殊字符,單詞邊界,按您的輸入。

相關問題