我到处搜索过,无法找到类似的问题。
所以我想在其中包含特定文本的分隔符之间获取整个字符串。
示例:
我想在包含文字"
hotelscombined.com
之间获取整个字符串
这是要搜索的字符串:
<a id="fake-id" href="http://hotelscombined.com?param=1¶m=2¶m=3">"Hello I'm a link"</a>
结果应为http://hotelscombined.com?param=1¶m=2¶m=3
而不是Hello world
或fake-id
这不仅限于HTML / XML属性。它可以在非HTML / XML元素上完成
示例:
要搜索的内容:
Hello world I'm not an "html or xml" I could be "just random text"
要匹配的文字,任何包含random
字并被引号"
包围的内容
所以"just random text"
匹配。
我在https://regex101.com/r/qI8bS4/1使用此正则表达式\".*?(hotelscombined\.com).*?\"
进行了尝试但是它似乎很贪婪,并且会到达下一个引用"
。
答案 0 :(得分:0)
感谢@Tushar的帮助。
我已经提出了这个解决方案"([^"]*?hotelscombined\.com[^"]*?)"
一般情况:模式就像这样DELIM([^DELIM]*?TEXT[^DELIM]*?)DELIM
其中:
DELIM = The delimiter
TEXT = The specific text you want enclosed
。
关键是使用[^DELIM]*?
匹配除分隔符以外的所有字符,并使其进行惰性搜索。