需要正则表达式来匹配两个单词,因为它们之间可能有任意数量的空格或其他字符
Posted
技术标签:
【中文标题】需要正则表达式来匹配两个单词,因为它们之间可能有任意数量的空格或其他字符【英文标题】:Need regex to match two words given there could be any amount of white space or other characters between them 【发布时间】:2019-01-13 14:33:13 【问题描述】:假设我想匹配短语“Johnny Appleseed”,我们得到以下字符串:
<p>Johnny random blah stuff</p>
<p>more random stuff Appleseed blah blue bleh</p>
我希望能够匹配 Johnny 和 Appleseed 以便将这些单词包装在标签中,我该怎么做?
预期输出:
<p><span>Johnny</span> random blah stuff</p>
<p>more random stuff <span>Appleseed</span> blah blue bleh</p>
感谢所有建议!
注意:基本上我想要的是此页面自动使用示例字符串中的单词 Johnny 和 Appleseed 执行的操作(它使 Johhnny 和 Appleseed 的颜色与其他文本不同)
【问题讨论】:
正则表达式用于在字符串中查找模式。查看您的示例,您只想连接三个字符串<div>
,原始,</div>
。如果不是这样,请重写问题以提供更好的示例。
您可能想reconsider using regex on html,特别是如果您不知道您的代码可以具有什么结构。简而言之:regular 表达式不适合像您这样的 irregular 问题。虽然您在问题中描述的问题似乎有点容易处理,但我觉得您的实际问题(或将要)复杂得多,因此我的承诺是:考虑另一种解决方案。我们很乐意提供帮助,但我们可能需要更多信息。
我明白了。我确实总是看到“正则表达式对 html 不利”,但我从未见过有人在这样的线程上发布非正则表达式解决方案。对于类似正则表达式的场景,很难想出非正则表达式解决方案。不过,我肯定会对非正则表达式解决方案敞开心扉
将问题编辑得更具体
您的示例的预期输出是什么?你想把每个单词都换行吗?
【参考方案1】:
决定使用 Jsoup 来解析我的 HTML,而不是使用正则表达式。感谢您的时间!
【讨论】:
以上是关于需要正则表达式来匹配两个单词,因为它们之间可能有任意数量的空格或其他字符的主要内容,如果未能解决你的问题,请参考以下文章