沉默Ruby正则表达式警告

时间:2018-02-13 16:35:50

标签: ruby regex

我的正则表达式中有一个-。当我运行它时,我得到warning: character class has '-' without escape: /[^a-zA-Z0-9-_\\.]/

我怎样才能使这个警告沉默?

3 个答案:

答案 0 :(得分:0)

在这个地方readonly ROOT_URL = 'http://localhost/ecdweb/api/index.php'; getCenters(): Observable<Center[]> { return this.http.get<Center[]>(this.ROOT_URL + '/centers'); } deleteCenter(id: number): Observable<{}> { return this.http.delete(this.ROOT_URL + '/centers/' + id); } ,可能会出错。 ' - '的使用意味着新范围(带有错误输入)或仅仅是符号。可以在范围前移动单个字符,也可以使用'\'

前缀

答案 1 :(得分:0)

添加反斜杠(\)以逃避寂寞的冲刺。看起来违规的破折号紧跟在[^a-zA-Z0-9之后。添加\-而不是短划线字符-。包含微小变化的完整正则表达式是

/[^a-zA-Z0-9\-_\\.]/

这将删除警告。使用反斜杠转义它会清楚地指示你想要搜索该字符的正则表达式引擎,而不是忘记完成[a-z]

之类的范围

答案 2 :(得分:0)

verbosity = $VERBOSE
$VERBOSE = nil
/[^a-zA-Z0-9-_\\.]/ #=> /[^a-zA-Z0-9-_\\.]/
$VERBOSE = verbosity