不使用'm'修饰符(golang风格),匹配不以'<p>'开头的多行文本
创始人
2024-12-28 08:30:42
0

由于golang中不支持'm'修饰符,我们可以使用其他方式来实现匹配不以特定字符串开头的多行文本。

一种解决方法是使用反向引用,如下所示:

import (
    "regexp"
)

func main() {
    str := "some text\n

more text\n

even more text\n

last text" re := regexp.MustCompile(`(?:\A|[^\r\n])(?:(?!

\s*$)[\s\S])*`) matches := re.FindAllString(str, -1) for _, match := range matches { if !regexp.MustCompile(`^\s*

`).MatchString(match) { fmt.Println(match) } } }

在上面的示例中,我们使用正则表达式(?:\A|[^\r\n])(?:(?!

\s*$)[\s\S])*来匹配整个字符串中的多行文本。这个正则表达式的含义如下:

  • (?:\A|[^\r\n]) 匹配字符串的开头,或者匹配一个非换行符的字符。
  • (?:(?!

    \s*$)[\s\S])*
    匹配多行文本。这个正则表达式使用了一个负向前瞻,即(?!...)来排除以

    开头的行。[\s\S]表示匹配任意字符(包括换行符),*表示匹配零个或多个这样的组合。

最后,我们使用!regexp.MustCompile(^\s*

).MatchString(match)来判断每个匹配项是否以

开头,如果不是,则打印匹配项。

运行上面的代码,可以得到输出:

some text

even more text
last text

这些文本不以

相关内容

热门资讯

透视软件(wePOke)外挂透... 透视软件(wePOke)外挂透明挂辅助软件(wepokeai代打的胜率)本然有挂(详细透视曝光教程)...
透视好友(微扑克全自动机器人)... 透视好友(微扑克全自动机器人)众合推扑克有没有辅助(详细辅助揭秘攻略)原来有挂;是一款可以让一直输的...
透视黑科技(wepoke)外挂... 1、透视黑科技(wepoke)外挂透明挂辅助app(wepower辅助器)最初有挂(详细透视专业教程...
透视有挂(wepoke辅助挂)... 透视有挂(wepoke辅助挂)微扑克软件发牌原理(详细辅助科技教程)先前是有挂,您好,wepoke辅...
透视透视(wePOke)透明挂... 透视透视(wePOke)透明挂辅助工具(wepoke有没有挂)一贯是真的有挂(详细透视解密教程)是一...
透视黑科技(德州ai辅助有用)... 透视黑科技(德州ai辅助有用)cloudpoker辅助器(详细辅助普及教程)固有真的有挂;人气非常高...
透视规律(wePokE)透视辅... 透视规律(wePokE)透视辅助工具(WePoKe透视挂)果然真的是有挂(详细透视技巧教程);实战中...
透视透视(智星德州菠萝)wep... 透视透视(智星德州菠萝)wepower系统规律(详细辅助必胜教程)起初真的有挂1、许多玩家不知道智星...
透视存在(WepokE)外挂透... 透视存在(WepokE)外挂透明挂辅助软件(wepoke一定有挂)从前存在有挂(详细透视爆料教程);...
透视代打(微扑克ai机器人)w... 透视代打(微扑克ai机器人)wepokewopoker透明挂(详细辅助攻略教程)一向有挂1、微扑克a...