Sql 将包含-、.$\/的字符串与正则表达式匹配
我试图用正则表达式匹配一个包含-、.$/的字符串,并且可能包含我还不知道的其他特殊字符。我必须匹配字符串中的前28个字符 字符串是-> 已接收-数据迁移1。单位,美国CXXX公司普通股证券证书第323248号987837股面额为1元未管理XX XX、XXXSFHIGSKF/XXXX仅为< /P> 我使用的正则表达式是[\w-,.$\/]+\s{28}.* 有没有更好的方法来匹配特殊字符 如果字符串长度小于28,我也会得到一个错误。我可以做些什么来包含范围,这样即使字符串少于28个字符,正则表达式也可以工作 代码看起来像这样Sql 将包含-、.$\/的字符串与正则表达式匹配,sql,regex,oracle11g,Sql,Regex,Oracle11g,我试图用正则表达式匹配一个包含-、.$/的字符串,并且可能包含我还不知道的其他特殊字符。我必须匹配字符串中的前28个字符 字符串是-> 已接收-数据迁移1。单位,美国CXXX公司普通股证券证书第323248号987837股面额为1元未管理XX XX、XXXSFHIGSKF/XXXX仅为< /P> 我使用的正则表达式是[\w-,.$\/]+\s{28}.* 有没有更好的方法来匹配特殊字符 如果字符串长度小于28,我也会得到一个错误。我可以做些什么来包含范围,这样即使字符串少于28个字符,正则表达式
Select regexp_extract(Txn_Desc,'((([\w-,.$;!@\/%)^#<>&*(]+)\s){1,28}).*',1) as Transaction_Short_Desc,Txn_Desc
from Table x
您似乎正在寻找28个代币 试一试 或 这是8个令牌的结果:
Received - Data Migration 1. Units, of UNITED
| | | | | | | |
1 2 3 4 5 6 7 8
你说我试图匹配字符串是什么意思。。。。我必须匹配字符串中的前28个字符?我怀疑标准字符串函数和运算符SUBSTR,比如-而不是正则表达式-可能会有所帮助,但不清楚问题出在哪里。如上所示的regexp_extract帮助我获得了所需的结果。然而,有没有更好的方法来匹配特殊字符的正则表达式模式,而不是我在上面的代码中所显示的我不理解的字符。Oracle中没有regexp_提取。您是舒尔吗?您使用的是Oracle,而不是其他产品?此外,你应该能够用公共语言表达需求,而不是使用代码-不要让读者猜测代码的意图,告诉他们你的需求是什么。欢迎:-不要忘记接受答案。
([^ ]+ +){0,28}
Received - Data Migration 1. Units, of UNITED
| | | | | | | |
1 2 3 4 5 6 7 8