我正在尝试匹配一个包含 - ,。$ /的字符串(并且可能包含我还不知道的其他特殊字符(使用正则表达式。我必须匹配字符串中的前28个字符
字符串是 - >
Received - Data Migration 1. Units, of UNITED STATES $ CXXX CORPORATION COMMON SHARE STOCK CERTIFICATE NO. 323248 987,837 SHARES PAR VAL $1.00 NOT ADMINISTERED XX XX, XXXSFHIGSKF/XXXX PURPOSES ONLY
我使用的正则表达式是((([\w-,.$\/]+)\s){28}).*
有没有更好的方法来匹配特殊字符?
如果字符串长度小于28,我也会收到错误。如果字符串少于28个字符,我可以做什么来包含范围以便正则表达式工作
代码看起来像这样
Select regexp_extract(Txn_Desc,'((([\w-,.$;!@\/%)^#<>&*(]+)\s){1,28}).*',1) as Transaction_Short_Desc,Txn_Desc
from Table x
答案 0 :(得分:1)
看来你正在寻找28个代币。
尝试
(\S+\s+){0,28}
或
([^ ]+ +){0,28}
这是8个令牌的结果:
Received - Data Migration 1. Units, of UNITED
| | | | | | | |
1 2 3 4 5 6 7 8