2016-11-25 110 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