2015-11-05 67 views

回答

4

不要使用[A-z],使用[a-zA-Z]

^[a-zA-Z]+([a-zA-Z\s-]*)[a-zA-Z]+$ 

否則,[A-z]類將匹配其他一些非字母符號,太:

enter image description here

這裏是一個demo on regex101.com

只需注意:[A-z]有時可用於在爲特定語言設置排序規則時匹配POSIX樣式正則表達式中的所有字母。

[[ "ABCEDEF[]_abcdef" =~ ([A-z]+) ]] && echo "${BASH_REMATCH[1]}"在Cygwin上用LC_COLLATE="en_US.UTF-8"得到ABCEDF。 如果您將LC_COLLATE設置爲C(在Cygwin上,使用export完成),它會給出預期的ABCEDEF[]_abcdef

+1

謝謝不知道 –

+0

很好的解釋+1 –