正则表达式将分隔符之间的整个文本与特定字符串匹配
RegEx match entire text in between delimiters with a certain string
找遍了也没有找到类似的问题。
所以我想在分隔符之间获取整个字符串,其中包含特定文本。
示例:
我想在 "
之间获取包含文本 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).*?\"
尝试过,但是它似乎很贪婪并且到达下一个引用 "
。
感谢@Tushar 的帮助。
我想出了这个解决方案 "([^"]*?hotelscombined\.com[^"]*?)"
为了一般性:模式是这样的DELIM([^DELIM]*?TEXT[^DELIM]*?)DELIM
其中:
DELIM = The delimiter
TEXT = The specific text you want enclosed
。
关键是使用 [^DELIM]*?
来匹配除分隔符之外的所有字符并使其成为惰性搜索。
找遍了也没有找到类似的问题。
所以我想在分隔符之间获取整个字符串,其中包含特定文本。
示例:
我想在 "
之间获取包含文本 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).*?\"
尝试过,但是它似乎很贪婪并且到达下一个引用 "
。
感谢@Tushar 的帮助。
我想出了这个解决方案 "([^"]*?hotelscombined\.com[^"]*?)"
为了一般性:模式是这样的DELIM([^DELIM]*?TEXT[^DELIM]*?)DELIM
其中:
DELIM = The delimiter
TEXT = The specific text you want enclosed
。
关键是使用 [^DELIM]*?
来匹配除分隔符之外的所有字符并使其成为惰性搜索。