我試圖想出一個以字母,空格,逗號,點,&符,撇號和連字符開頭的正則表達式。當輸入字符串包含&符時正則表達式不匹配
但是,符號字符給我頭痛。只要它出現在輸入字符串中,正則表達式就不再匹配。
我在TextInput
(項目中創建的自定義控件)的'Format'屬性中使用C#在ASP.net項目中使用正則表達式。其中,我使用Regex.IsMatch(Text, Format)
來匹配它。
例如,使用此正則表達式:
^[a-zA-Z][a-zA-Z&.,'\- ]*$
的結果是:
John' william-david Pass
John, william'david allen--tony-'' Pass
John, william&david Fail
每當我在輸入字符串的正則表達式不再匹配放了&
,但是沒有它一切正常。
我該如何解決我的問題?爲什麼&符號會導致問題?
注:
- 我試圖逃跑與
^[a-zA-Z][a-zA-Z\&.,'\- ]*$
的符號,但它有同樣的問題 - 我試圖把符號的開頭或結尾Ø
^[a-zA-Z][&a-zA-Z.,'\- ]*$
或^[a-zA-Z][a-zA-Z.,'\-\& ]*$
但也不起作用
?用'grep'? – loganfsmyth
你的表達能正常工作([demo](https://regex101.com/r/pE8rC6/1))。 – dasblinkenlight
如果您在命令行中使用'grep',請確保將它放在引號中。 '&'是Bash中的一個特殊字符,因此它需要被轉義或引號。 – loganfsmyth