我使用以下javascript正则表达式在包含html的字符串中查找模式。
sHTML = sHTML.replace(new RegExp("td>" + sFindPhrase + "[^\'\"\\\/\>\<]* ", "gi"), "<span id='spanFnd'></span><span style='background-color: orange'>$&######");
sHTML = sHTML.replace(new RegExp("[^\'\"\\\/\>\<]" + sFindPhrase + "[^\'\"\\\/\>\<]* ", "gi"), "<span id='spanFnd'></span><span style='background-color: orange'>$&######");
所以如果sHTML是:
<td>brou ha ha </td><td>John May lives </td><td> blablabla</td>
用户输入了 Jo 它不应该匹配整个 John 子字符串吗?但它匹配 John May 。那就是它在字符串中找到的第二个空格字符,它不会停在第一个空格字符中。为什么以及如何解决这个问题?
提前谢谢。
对于那些低估我的问题的人:如果字符串包含html或纯文本,则无关紧要。即使使用纯文本,它仍然无法正常工作。