求一个HTML正则公式,谢谢

admin87 · 2017-12-02 16:26:02 · 1480 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2017-12-02 16:26:02 的主题,其中的信息可能已经有所发展或是发生改变。

现想用正则清洗HTML .但发现有一种代码用正则会出问题,不会写了,求大神指导。 HTMLCODE

<meta name="author" content="polaris <polaris@studygolang.com>">

我匹配标签的方法 是re,_ = regexp.Compile("\<[\S\s]+?\>") 但现在有一个问题,第一行代码内包含“>” 结果造成只匹配到<meta name="author" content="polaris polaris@studygolang.com 这明显是错的, 求方法 ,谢谢。


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1480 次点击  
加入收藏 微博
13 回复  |  直到 2017-12-04 14:15:05
channel
channel · #1 · 7年之前

你用了懒惰模式,改为:

re,_ = regexp.Compile("\<[\S\s]+\>")
admin87
admin87 · #2 · 7年之前
channelchannel #1 回复

你用了懒惰模式,改为: ```go re,_ = regexp.Compile("\<[\S\s]+\>") ```

如果<meta name="author" content="polaris <polaris@studygolang.com>"> 后边还有HTML标签呢?

Carseason
Carseason · #3 · 7年之前
re := regexp.MustCompile(`\<[\S\s]+?">`)
Carseason
Carseason · #4 · 7年之前
re := regexp.MustCompile(`<[\S\s]+?">`)
Carseason
Carseason · #5 · 7年之前

论坛回复好像不能带特殊符号。。。。

polaris
polaris · #6 · 7年之前
CarseasonCarseason #5 回复

论坛回复好像不能带特殊符号。。。。

上面的符合格式要求吗?

go 代码语法高亮请使用:

```go 开始

admin87
admin87 · #7 · 7年之前
CarseasonCarseason #5 回复

论坛回复好像不能带特殊符号。。。。

谢谢,我能看明白

admin87
admin87 · #8 · 7年之前

MustCompile 与.Compile有什么分别

admin87
admin87 · #9 · 7年之前
CarseasonCarseason #4 回复

```go re := regexp.MustCompile(`<[\S\s]+?">`) ```

还有一个问题 网上写的<> 这两个匹配 都是写成 \ \ < \ \ > 前边有两个斜线,但我在测试试,不加前边的 \ \ 也是可以。。。所以 加两斜线与不加有什么差别吗

admin87
admin87 · #10 · 7年之前
CarseasonCarseason #3 回复

```go re := regexp.MustCompile(`\<[\S\s]+?">`) ```

你好,如何整行匹配,比如我有一个字符串,全是空白符号。如果判断这里全是空白符号。

Carseason
Carseason · #11 · 7年之前
admin87admin87 #9 回复

#4楼 @Carseason 还有一个问题 网上写的<> 这两个匹配 都是写成 \ \ < \ \ > 前边有两个斜线,但我在测试试,不加前边的 \ \ 也是可以。。。所以 加两斜线与不加有什么差别吗

不是很清楚,用""来匹配的话需要转移,比如\w,你要写成regexp.MustCopile("\w")来转义,如果里面有带多个"双引号的话你就得用\"来转移匹配的内容了。 空白字符的话你直接用(""|XXX其它内容)试一试,具体看例子

Carseason
Carseason · #12 · 7年之前
admin87admin87 #8 回复

MustCompile 与.Compile有什么分别

MustCompile返回一个值,Compile返回俩个值

admin87
admin87 · #13 · 7年之前

谢谢

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传