postgresql
select regexp_matches( txt,'测试[\s\S]*') from txt
select regexp_matches( txt,'测试[\\s\\S]*') from txt
怎么匹配测试
后任意字符 ?
postgresql
select regexp_matches( txt,'测试[\s\S]*') from txt
select regexp_matches( txt,'测试[\\s\\S]*') from txt
怎么匹配测试
后任意字符 ?
在 PostgreSQL 中,你可以使用正则表达式函数 regexp_matches
来执行正则表达式匹配。然而,你想要匹配的是 "测试" 后面的任意字符,需要注意 PostgreSQL 中字符串前面和后面的空白字符是被忽略的,也就是说它们不会匹配到结果中。
如果你想匹配 "测试" 后面的任意字符,你可以尝试以下语句:
SELECT regexp_matches(txt, '测试.*') FROM txt;
这里的 .*
是一个正则表达式模式,它表示任意字符(.
)重复任意次数(*
)。因此,测试.*
将匹配 "测试" 后面的任意字符。
此外,你提供的两个示例语句中, [\s\S]*
和 [\\s\\S]*
实际上是等价的。它们都匹配包括换行在内的所有字符。其中,\s
匹配任何空白字符,\S
匹配任何非空白字符,*
表示重复零次或多次。所以 [\s\S]*
或者说 [\\s\\S]*
是用来匹配任意字符的,不仅仅是空格或者换行符。
2 回答902 阅读✓ 已解决
2 回答1.7k 阅读
1 回答1.4k 阅读
3 回答880 阅读
1 回答882 阅读
1 回答836 阅读
1 回答575 阅读