首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >要找到的正则表达式,直到字符?

要找到的正则表达式,直到字符?
EN

Stack Overflow用户
提问于 2013-11-27 13:43:25
回答 1查看 142关注 0票数 2

我有两个HTML字符串:

代码语言:javascript
运行
复制
a="<div> foo: <span>bar</span> </div>"
b="<div> foo: bar <br> </div>"

我想从每个字符串中找到foo: bar

我想这样做的方法是从“foo”这个词中找到,直到我遇到一个“<”字符。

我可以用正则表达式来完成这个任务:

代码语言:javascript
运行
复制
foo([^(<)]+)

这只会从string b中找到"foo: bar“,而不会从string a中找到,因为<span>标记在路上。因此,我想编写regex,以便从foo中查找,直到它发现一个忽略<span>标记的<字符。

这些只是这些字符串中的一部分,因此它必须像状态一样工作,也就是说,我不能开始删除标签,等等。

基本上,我需要知道的是如何找到字符串中的所有字符,直到遇到某个字符为止,除非该字符后面跟着一组指定的字符,即查找直到<,但是如果<后面跟着span>,则查找下一个<

有人知道怎么做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-27 13:50:08

虽然使用regexp从HTML中提取内容通常是不好的,但您可以这样解决问题:

代码语言:javascript
运行
复制
foo, bar = string.gsub(/<.*?>/, '').strip.split

编辑:好吧,那么您可能想看看前面对regexp:(?!regpattern)的负面看法。

代码语言:javascript
运行
复制
string[/(foo.*)<((?!span|\/span))/,1]
# match foo followed by all character until < unless the character after that is /span or span
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20244111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档