Regex 如何在配置单元中使用正则表达式排除字符串中的特殊字符

Regex 如何在配置单元中使用正则表达式排除字符串中的特殊字符,regex,hive,apache-pig,hiveql,Regex,Hive,Apache Pig,Hiveql,我想排除句号。和大括号,。 但是,十进制数字应该保持不变 所以基本上如果输入是 配置单元仅在FROM子句到配置单元0.12中支持子查询。 必须为子查询指定一个名称,因为 子句必须有一个名称。子查询选择列表中的列必须具有 唯一的名称 输出应该是 配置单元仅在FROM子句到配置单元0.12中支持子查询 子查询必须有一个名称,因为FROM子句中的每个表 必须具有名称子查询选择列表中的列必须具有唯一性 名字 配置单元仅在FROM子句到配置单元0.12中支持子查询 子查询必须有一个名称,因为FROM子句中

我想排除句号。和大括号,。 但是,十进制数字应该保持不变

所以基本上如果输入是

配置单元仅在FROM子句到配置单元0.12中支持子查询。 必须为子查询指定一个名称,因为 子句必须有一个名称。子查询选择列表中的列必须具有 唯一的名称

输出应该是

配置单元仅在FROM子句到配置单元0.12中支持子查询 子查询必须有一个名称,因为FROM子句中的每个表 必须具有名称子查询选择列表中的列必须具有唯一性 名字

配置单元仅在FROM子句到配置单元0.12中支持子查询 子查询必须有一个名称,因为FROM子句中的每个表 必须具有名称子查询选择列表中的列必须具有唯一性 名字


是否也要删除逗号?但本段中没有逗号。不,在这个特定示例中没有逗号,但在您编写的问题中排除句点和大括号。我现在已经编辑了。是的。我会再打给你的。让我学习这个解决方案并检查它是如何工作的
with t as (select 'Hive supports subqueries only in the FROM clause (through Hive 0.12). The subquery has to be given a name because every table in a FROM clause must have a name. Columns in the subquery select list must have unique names.' as mycol)

select  regexp_replace(mycol,'(\\d+\\.\\d+)|[.()]','$1'),'\\((.*?)\\)'
from    t