我有这样的架构
<h1>
5/2009
<br/>
Question: This is the question
</h1>
我喜欢在<br/>
之后获取第一部分,或者始终在冒号:
- &GT;解决方案应该是“问题”
注意:这个词改变了 - 有时它的问题,其他可能是个大问题......
我尝试使用<h1>(.{0,50}):(.{0,50})
,但这会返回很多(也是日期)
我没有接受正则表达式的训练,任何人都可以帮助我吗?
非常感谢。
答案 0 :(得分:2)
试试这个:
<br/>([^:]+):
答案 1 :(得分:1)
我相信这会奏效:
<h1>.*?<br />([^:]+):(.*?)</h1>
答案 2 :(得分:1)
考虑一下你的意思并将其翻译成正则表达式语言。正如Gumbo指出的那样,您应该使用[^:]
而不是.
;这样做的原因是你正在寻找不是冒号([^:]
)的字符组,而不是完全符合任何字符的组[1](.
)碰巧有冒号他们之间。
每当你发现自己在正则表达式中使用.
量词时,请停下来问自己,你是否真的是指“任何角色”,或者你是否能更清楚地表达你的意思(并获得更准确的结果)而是一个角色类。
(非贪婪量词(.*?
)也可以在这种情况下完成正确匹配的工作,但是角色类仍然是人类读者意图的更清晰表达,并通过避免过度回溯来提高效率机读者。)
[1]嗯,绝对是任何字符,可能除了换行符之外,取决于您正在使用的正则表达式实现。
答案 3 :(得分:0)
我的脑子里充满了光彩。非常感谢所有已经帮助过的人。
可能任何人都可以尝试再次帮助对我来说如此重要:S?
<ul>
<li>
07.05.2009:
<a href="#1">Test 1</a>
</li>
<li>
05.01.2009:
<a href="#2">Test 2</a>
</li>
</ul>
这次我想阅读第二部分。最好的事情是,如果我在一个正则表达式中单独分开..
所以:1。07.05.2009 2.测试1