首页 > 编程知识 正文

qt正则表达式匹配字符串,oracle正则表达式匹配特殊字符

时间:2023-05-04 16:58:43 阅读:143232 作者:2964

虽然经常希望找到不包含字符串的文本,但程序员最容易想到的是

实际上,说正则表达式不支持反向匹配并不是100%正确的。 就像这个问题一样,可以使用否定的查找来模拟反向匹配以解决问题。

^ () ) (? hede.) *$

上面的表达式过滤不包含字符串“‘hede’”的信息。 如上所述,这种写法不是正则表达式的“擅长”用法,但可以这样使用。

解释:字符串由n个字符组成。 每个字符的前后都有空字符。 这样,由n个字符组成的字符串就有n 1个空字符串。 请看“ABhedeCD”这个字符串:

请参见------------------------------------------------------- -

s=|E1|a|E2|b|E3|h|E4|E5|d|E6|E7|c|E8|d|e9 |

请参见------------------------------------------------------- -

索引0123456 7

的所有e号的位置都是空白字符。 公式(? hede ) .找前面,看看前面有没有“hede”这个字符串。 如果没有,则()与其他字符匹配。 此正则表达式中的“查找”也称为零宽度断言。 因为不捕捉文字,所以只是判断。

上面的示例针对每个空字符检查前面的字符串是否为“‘hede”。 否则,这就是.(圆点) )匹配并捕捉这个字符。 公式(? hede ) .只执行一次,因此将此表达式放在括号中作为组(group ) () )并用星号)限定——,使其匹配零次或多次。 () ) )? hede(*.) *。

正如您所看到的,正则表达式(! 匹配hede ()字符串" ABhedeCD "的结果false。 因为是e3的位置,(? hede )匹配失败,前面有字符串" hede ",即包含指定的字符串。

在正则表达式中, 定石能否前进,可以解决字符串“不包含”的一致问题。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。