2016-11-25 40 views
-4

我有錯誤^正則表達式錯誤的格式不正確

The regular expression '[email protected]^[A-Za-z0-9.-]+\.^[A-Za-z]{2,4}' is malformed: '-' is an invalid character range. Write '\-' 

我該如何解決

+0

在哪裏和如何使用正則表達式? 「LC_ALL = C」可以修復嗎?這些模式中做的是什麼? –

+1

你已經標記了問題「xml」 - 是否有關?關鍵是,不同的正則表達式方言各不相同,您需要告訴我們您正在使用哪一種方言。但是由於錯誤信息告訴你如何解決這個問題,爲什麼你不這樣做呢? –

+0

看起來像你必須逃避「 - 」在你的「[...]」 – Fallenhero

回答

1

我猜,這意味着你必須用正則表達式內以書面形式'\-'逃脫字符'-',當它不被用作範圍指標。

嘗試改變:

'[email protected]^[A-Za-z0-9.-]+\.^[A-Za-z]{2,4}' 

通過

'[email protected]^[A-Za-z0-9.\-]+\.^[A-Za-z]{2,4}' 

由於@Fallenhero說明。 '^'似乎也以某種方式錯位。

+0

不正確。在大多數語言中,'.'會自動在'[]' – Fallenhero

+1

中跳過,看看這個例子......它只匹配'.' https://regex101.com/r/Hc3aYn/1 – Fallenhero

+0

@Fallenhero:是的,你的權利。我會糾正它。 – cwschmidt