這個問題讓我發瘋 我需要排除帶有重音的這個詞,我有問題。特別我認爲\b
不工作好與像áéíóúñ 例如口音的信件,我有這樣的正則表達式:正則表達式和口音
\b(m[ií]s*|m[ií][ao]s*|t[úu]s*|s[u]s*)\b
的話:
MI - 比賽
MI - 不匹配
MIAS - 比賽
米亞斯 - 不匹配
我嘗試使用\s
而不是\b
但我匹配空格 如何解決此問題?
感謝
這個問題讓我發瘋 我需要排除帶有重音的這個詞,我有問題。特別我認爲\b
不工作好與像áéíóúñ 例如口音的信件,我有這樣的正則表達式:正則表達式和口音
\b(m[ií]s*|m[ií][ao]s*|t[úu]s*|s[u]s*)\b
的話:
MI - 比賽
MI - 不匹配
MIAS - 比賽
米亞斯 - 不匹配
我嘗試使用\s
而不是\b
但我匹配空格 如何解決此問題?
感謝
糾正我,如果我錯了,但如果你使用的是Java,口音被認爲是非單詞字符,所以你可以用\檢測W¯¯VS \ W。無論您使用何種語言,都可能出現這種情況。
我正在使用PHP 5 – Nicopag 2013-03-28 02:19:00
此正則表達式將匹配沒有任何音字母的所有單詞:
\b[a-zA-Z']+\b
包括引號字符意味着撇號的話 - 比如「不能」 - 也匹配。
請注意,正則表達式\w
不適合,因爲它包含數字和下劃線字符。
是的。但我需要將口音與口音搭配,比如tú和tus以及mí和mís。但不是mísa – Nicopag 2013-03-28 02:27:52
您正試圖匹配unicode字符,根據您使用的語言不同,這些字符可能更多或更少。此鏈接可以幫助你更好地理解:
從你的問題和評論是聽起來像:
這PowerShell中顯示匹配字符串正在爲所有你已經案件上市
$Matches = @()
$String = 'mi, tú, tus, mí, mís, mias, Yes. But I am needing to match words with accent, like tú and tus and mí and mís. BUT not mísa – '
([regex]'(?=\b)(mí|m[ií]s*|m[ií][ao]s*|t[úu]s*|s[u]s*)(?=\b)').matches($String) | foreach {
write-host "at $($_.Groups[1].Index) = '$($_.Groups[1].Value)'"
} # next match
產生
at 0 = 'mi'
at 4 = 'tú'
at 8 = 'tus'
at 13 = 'mí'
at 17 = 'mís'
at 22 = 'mias'
at 83 = 'tú'
at 90 = 'tus'
at 98 = 'mí'
at 105 = 'mís'
你是想只匹配*不*有口音的話嗎? – Bohemian 2013-03-28 02:20:55
你試圖匹配的字符串只能看起來像它有重音符號嗎?在HTML轉義字符,而不是? – 2013-03-28 02:22:11