我在 postgres 函数中使用以下行:
regexp_replace(input, '[^a-z0-9\-_]+', sep, 'gi');
但是ERROR: invalid regular expression: invalid character range当我尝试使用它时,我得到了。正则表达式在 Ruby 中工作正常,是否有理由在 postgres 中有所不同?
小智 7
一些正则表达式解析器将在中间使用破折号 (-),如果在您拥有它的范围之后,但其他人则不会。我怀疑正则postgres表达式解析器在后面的课程中。在正则表达式中使用破折号的规范方法是从它开始,即将正则表达式更改为'[^-a-z0-9_]+'可能使其通过解析器。然而,一些正则表达式解析器可能真的很挑剔,也不接受。
我没有postgres要测试的,但我希望他们会接受上面的正则表达式并正确处理。否则,您必须找到他们手册的正则表达式部分并了解它对此的说明。
| 归档时间: |
|
| 查看次数: |
3381 次 |
| 最近记录: |